在VB中使用OR运算符动态构建LINQ查询

时间:2009-05-22 14:50:23

标签: vb.net linq predicate

我需要使用或运算符构建动态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

我怎么能这样做呢?

2 个答案:

答案 0 :(得分:1)

LinqKit.dll正常运行,现在使用PredicateBuilder甚至使用我的VB项目,效果非常好!

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

答案 1 :(得分:0)

您是否查看了LINQ Dynamic Query Library