Asp.net-Mvc
為什麼 LINQ to Entities 無法辨識方法“System.String ToString()?
在 MVC3 Web 應用程序中出現錯誤。
LINQ to Entities does not recognize the method 'System.String ToString()' method, and this method cannot be translated into a store expression.當我嘗試使用 EF 從查詢中獲取值時:
public class DataRepository { public mydataEntities1 dbContext = new mydataEntities1(); public List<SelectListItem> GetPricingSecurityID() { var pricingSecurityID = (from m in dbContext.Reporting_DailyNAV_Pricing select new SelectListItem { Text = m.PricingSecurityID.ToString(), Value = m.PricingSecurityID.ToString() }); return pricingSecurityID.ToList(); } }
那不能轉換為SQL。我想,理論上,它可以,但沒有實現。
您只需要在獲得結果後執行投影:
var pricingSecurityID = (from m in dbContext.Reporting_DailyNAV_Pricing select m.PricingSecurityID).AsEnumerable() .Select(x => new SelectListItem{ Text = x.ToString(), Value = x.ToString() });