Expression.Invoke在实体框架中?

Bra*_*ach 29 .net linq linq-to-entities entity-framework

实体框架不支持Expression.Invoke运营商.尝试使用它时收到以下异常:

"LINQ to Entities不支持LINQ表达式节点类型'Invoke'.

有没有人有这个缺少功能的解决方法?我想用详细的PredicateBuilder 这里的实体框架上下文.

编辑1 @marxidad - 我喜欢你的建议,但它确实让我感到困惑.您能就您提出的解决方案提供进一步的建议吗?

编辑2 @marxidad - 感谢您的澄清.

Joe*_*ari 30

PredicateBuilderLINQKit现在支持Entity Framework.

对不起,伙计们,因为我们之前没有这样做!

  • 是的 - 它现在有效.只需在.Where <>()之前添加AsExpandable()即可. (6认同)
  • 当我添加AsExpandable()时,我收到"无法将类型为'System.Linq.Expressions.MemberExpression'的对象转换为'System.Linq.Expressions.LambdaExpression'." 在LambdaExpression lambda =(LambdaExpression)目标行的VisitInvocation中; (3认同)