次のようなエンティティがあります。
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));
適切なクエリを作成するにはどうすればよいですか?