0
IQueryable<SomeType> result = (from x in Context.XXX select x);

现在我需要做的是以下(编写的伪代码,我需要实际代码):

foreach(var i in items)
{
  // Where the object "i" has 2 properties
  // 1) i.Operator (values of which can be AND or OR)
  // 2) i.SomeID (values of which can be 1 .. 10)

  // I need to build the LINQ query with "ands" and "ors" based on the i's in this foreach
}
4

2 回答 2

1

天真的方法是将调用链接到该Where方法,但这样你只能实现 AND 行为

查看PredicateBuilderJoseph Albahari 的课程。它允许使用 OR 运算符构建动态 Linq 查询

于 2009-09-24T12:56:34.850 回答
0

我们使用动态 LINQ 库来完成您想要做的事情(在这里找到:http ://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using- the-linq-dynamic-query-library.aspx )

你可以使用类似的东西:

var finalResults = results.Where("Your where clause");

其中“您的 where 子句”是包含动态生成的 where 子句的字符串。

于 2009-09-24T14:18:31.463 回答