Entity framework 实体框架3.5中查询中的调用函数
我试图在EntityFramework3.5中运行以下查询Entity framework 实体框架3.5中查询中的调用函数,entity-framework,c#-3.0,Entity Framework,C# 3.0,我试图在EntityFramework3.5中运行以下查询 var test=在有效的客户中,从e选择e 这里的IsValid函数接受当前客户并根据某些条件进行验证,并返回false或true。但当我试图运行查询时,它给出了错误“LINQ方法无法转换为存储表达式”。有人能告诉我其他方法吗 我可以想到的一种方法是在这里编写所有验证条件,但这会使代码难以阅读 谢谢 Ashwani正如错误文本所示,EF Linq提供程序无法将IsValid方法转换为SQL 如果希望查询在DB中执行,则必须在linq语
var test=在有效的客户中,从e选择e代码>
这里的IsValid函数接受当前客户并根据某些条件进行验证,并返回false或true。但当我试图运行查询时,它给出了错误“LINQ方法无法转换为存储表达式”。有人能告诉我其他方法吗
我可以想到的一种方法是在这里编写所有验证条件,但这会使代码难以阅读
谢谢
Ashwani正如错误文本所示,EF Linq提供程序无法将IsValid方法转换为SQL
如果希望查询在DB中执行,则必须在linq语句中写入验证条件
或者,如果您只是想获取所有客户,然后检查他们是否有效,您可以执行以下操作:
var test = from e in customers.ToList() //execute the query directly w/o conditions
where IsValid(e)
select(e);
什么是IsValid()
?你可以把它改写成一个表达式,这样就行了。取决于它包含的内容。是的,目前我遵循您建议的方法,但它将获取所有数据,然后应用过滤逻辑,从而影响性能:(