asp.net-mvc – 为什么LINQ to Entities不能识别方法’System.String ToString()?

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – 为什么LINQ to Entities不能识别方法’System.String ToString()?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在MVC3 Web应用程序中获取错误
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() });

猜你在找的asp.Net相关文章