【问题标题】:How to create a Linq To Entities expression如何创建 Linq To Entities 表达式
【发布时间】:2010-03-25 16:47:05
【问题描述】:

您好,我正在使用 Linq To Entities,我想将其转换

return db.Products
         .Where(p => p.idUser.Equals(id) && 
                     p.Category.Genre.Any(g => g.visible))

变成类似的东西

Func<Genre, bool> expr = g => g.visible

return db.Products
         .Where(p => p.idUser.Equals(id) && 
                     p.Category.Genre.Any(expr))

所以我可以用这样的东西增加更多的复杂性

Func<Genre, bool> expr = g => g.visible
expr += g => g.position < 5

但我总是遇到“.NET 内部 1025 错误”。 任何人都可以帮助我吗? 谢谢。

【问题讨论】:

    标签: entity-framework linq-to-entities lambda


    【解决方案1】:

    您需要使用Expressions,而不是委托。您可以使用 Joseph Albahari 的 PredicateBuilder 类来动态构建您的谓词:

    Expression<Func<Genre, bool>> expr = g => g.visible;
    expr = expr.And(g => g.position < 5);
    

    【讨论】:

      猜你喜欢
      • 2016-04-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-24
      • 1970-01-01
      • 2018-02-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多