Entity framework 实体框架3.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语

我试图在EntityFramework3.5中运行以下查询

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()
?你可以把它改写成一个表达式,这样就行了。取决于它包含的内容。是的,目前我遵循您建议的方法,但它将获取所有数据,然后应用过滤逻辑,从而影响性能:(