在实体框架中调用Expression.Invoke?

时间:2020-03-05 18:39:31  来源:igfitidea点击:

实体框架不支持Expression.Invoke运算符。尝试使用它时,我们会收到以下异常:

"The LINQ expression node type 'Invoke' is not supported in LINQ to Entities.

有人针对此缺少的功能找到解决方法吗?我想在实体框架上下文中使用此处详细介绍的PredicateBuilder。

编辑1 @marxidad我喜欢建议,但这确实使我感到困惑。我们可以针对我们提出的解决方案提供更多建议吗?

编辑2 @marxidad感谢澄清。

解决方案

回答

实体框架将LINQ表达式转换为实体命令树,并且在其中仅支持其规范功能。我们必须将命令树与规范函数一起使用才能执行PredicateBuilder之类的操作。

回答

PredicateBuilder和LINQKit现在支持实体框架。

抱歉,伙计们,因为没有早点这样做!