C# ravendb搜索:和/或的括号

C# ravendb搜索:和/或的括号,c#,linq,ravendb,C#,Linq,Ravendb,我正在尝试在raven db中进行搜索。目前,我有以下数据模型 public class DocumentModel { int[] Tag {get;set;} int From {get;set;} int[] To {get;set;} } 我的搜索参数将包含要搜索的标记列表,以及可以在“发件人”或“收件人”字段中的用户ID列表。我可以通过搜索方法搜索用户是否在“发件人”或“收件人”字段中,并将搜索选项设置为“搜索选项”。或者,我可以对标签执行相同的操作。然而,我

我正在尝试在raven db中进行搜索。目前,我有以下数据模型

public class DocumentModel
{
    int[] Tag {get;set;}
    int From {get;set;}
    int[] To {get;set;}
}
我的搜索参数将包含要搜索的标记列表,以及可以在“发件人”或“收件人”字段中的用户ID列表。我可以通过搜索方法搜索用户是否在“发件人”或“收件人”字段中,并将搜索选项设置为“搜索选项”。或者,我可以对标签执行相同的操作。然而,我现在需要的是

(Tag1 || Tag2 ) && (From || To)
这可能吗

多谢各位

编辑:我使用Linq方法进行查询,所以我更喜欢那种形式的答案


Edit2:我可以有一个userid列表和一个标记列表,但我可以有两个列表中的一个,两者都有,或者两者都没有。目前,我已经从标记的字符串.join('OR')开始,将其放在.Search中,并对电子邮件字段的.Search进行交集。有更好/更简单的方法吗?

RavenDB完全支持括号,并以这种方式进行排序。 我们建议使用和/或,但也支持&&/| |


您可以在Linq中执行此操作。

请提供或链接到有关如何执行此操作的示例代码。您可以使用标准Linq执行此操作。我不确定你在.session.Query()中得到了什么。Where(x=>(x.Age==18 | | x.Age==21)和&x.IsFun);糟糕的是,我没有给出所有的要求。我可以有一个用户ID列表和一个标记列表,但我可以有两个列表中的一个,两者都有,或者两者都没有。目前,我已经从标记的字符串.join('OR')开始,将其放在.Search中,并对电子邮件字段的.Search进行交集。有更好/更简单的方法吗?