查询包含RavenDB和LINQ子集中至少一个元素的对象

时间:2013-12-08 21:14:02

标签: c# .net linq ravendb

我在这个帖子中遇到了类似的问题:Finding objects which contains at least one element from subset using RavenDB and LINQ,但答案对我来说并不清楚。

string[] Categories = new[] {"A", "B"};

foreach (var cat in Categories)
{
   var currentTag = cat;
   products = products.Where(p => p.Categories.Any(c =>c.Id == currentTag));
}

调试“产品”时,结果是每个where语句之间的“AND”而不是“ OR ”(例如......其中category = A AND category = B.你怎么能使用OR运算符进行相同的操作?

我的意思是,给我所有产品,至少有A类 OR B.

最佳

尼玛

1 个答案:

答案 0 :(得分:2)

您需要使用In运算符。

string[] cats = new[] {"A", "B"};

var products = session.Query<Products>().Where(p => p.Categories.Any(c =>c.Id.In(cats)));