1

次のようなエンティティがあります。

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));

適切なクエリを作成するにはどうすればよいですか?

4

1 に答える 1