【问题标题】:Dynamically building LINQ query using OR operator in VB在VB中使用OR运算符动态构建LINQ查询
【发布时间】:2009-05-22 14:50:22
【问题描述】:

我需要使用 or 运算符构建动态 linq 查询。我见过 PredicateBuilder 但那是在 C# 中,我的项目是在 VB 中。基本上我需要建立一个类似这样的 WHERE 子句:

Where((this = 1 AND that = 2) OR (this = 1 AND that = 4) OR (this = 2 AND that = 4))

但问题是数字必须在运行时动态确定,并使用循环添加,例如

for each item in myItems
    query = query.OR (this = item.a AND this = item.b)
next

我该怎么做呢?

【问题讨论】:

    标签: vb.net linq predicate


    【解决方案1】:

    让 LinqKit.dll 正常工作,现在即使在我的 VB 项目中也可以使用 PredicateBuilder,而且效果很好!

    对于其他需要此功能的人,请参阅 http://rocksthoughts.com/blog/archive/2008/04/10/linq-to-sql-dynamic-queries-3-ands--ors-together.aspx,关于如何执行此操作的非常好的文章。

    【讨论】:

      【解决方案2】:

      你查看过LINQ Dynamic Query Library吗?

      【讨论】:

      • 是的,我知道这一点,但我认为它并不能真正满足我的需求,我必须使用我的客户非常不希望的连接来动态构建 sql。实际上,我只是让 linqkit 和谓词生成器开始工作!
      猜你喜欢
      • 1970-01-01
      • 2013-05-24
      • 1970-01-01
      • 1970-01-01
      • 2011-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多