我有一个如下实体:
class Person
{
public ICollection<string> OptOut { get; set; }
//other fields
}
我的应用程序允许用户基于Person
.
客户应该能够选择退出不同的邮件列表,因此OptOut
可能包含类似[ "Marketing", "Financial" ]
.
对特定邮件列表的查询当前聚合了过滤器表达式(使用Queryable.Where
),RavenDB 可以毫无问题地创建所需的索引。
我一直在阅读,似乎这些构造都不支持:
people.Where(x => !x.OptOut.Contains(mailingListType));
people.Where(x => !x.OptOut.Any(o => o == mailingListType));
people.Where(x => x.OptOut.All(o => o != mailingListType));
如何创建正确的查询?