我有一个带有自定义模型的 LINQ 查询。我只是想使用一种方法来为模型属性赋值。但是当我尝试使用自定义模型时,它会抛出一些这样的错误消息:
LINQ to Entities 无法识别方法 'System.String GetPONo(Ent, System.String)' 方法,并且此方法无法转换为存储表达式。
代码
var model = (from p in db.PoDetails
select new porders
{
Category = p.Category,
PONO = GetPONo(p, p.Category),
}).ToList();
方法
public string GetPONo(PoDetail p, string ASD)
{
if (ASD == "B")
{
var PoNo = (from pord in db.Porders where pord.Id == p.PoId select pord.No).FirstOrDefault();
return PoNo;
}
else
{
var PoNo = (from porder in db.Porders
where porder.Id == (from rec in db.RecommendResources where rec.Id == p.BibId select rec.PoId).FirstOrDefault()
select porder.No).FirstOrDefault();
return PoNo;
}
}