1

我需要使用 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

我怎么能这样做呢?

4

2 回答 2

1

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

对于其他需要这个的人,请参阅http://rocksthoughts.com/blog/archive/2008/04/10/linq-to-sql-dynamic-queries-3-ands--ors-together.aspx,非常好的文章关于如何去做这个。

于 2009-05-22T15:45:44.580 回答
0

您是否查看过LINQ 动态查询库

于 2009-05-22T15:22:47.850 回答