EntityFramework Linq 查询中不能使用int.parse
,否则报错,报错信息如下:
报错信息:LINQ to Entities does not recognize the method ‘Int32 Parse(System.String)’ method, and this method
var data = from v in db.Vip
join b in db.Business on v.BusinessId equals b.Id
where v.Level == int.Parse(level) // 这样写会报错
select new VipInfoModel
{
VipName = v.VipName,
Level = v.Level.Value,
BusinessId = v.BusinessId.Value,
BusinessName = b.Name,
DisplayName = b.DisplayName
};
解决方案:把int.parse
拿到外面
var _level = int.Parse(level);
var data = from v in db.Vip
join b in db.Business on v.BusinessId equals b.Id
where v.Level == _level
select new VipInfoModel
{
VipName = v.VipName,
Level = v.Level.Value,
BusinessId = v.BusinessId.Value,
BusinessName = b.Name,
DisplayName = b.DisplayName
};
发表回复