在MVC3 Web应用程序中获取错误。
LINQ to Entities不识别方法“System.String ToString()”方法,并且此方法不能转换为存储表达式。
LINQ to Entities不识别方法“System.String ToString()”方法,并且此方法不能转换为存储表达式。
当我尝试从查询获取值使用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() });