脳がロックしていて、簡単で迅速な答えが必要です - 私はおそらくこれを間違った方向から見ていますが、今週は多くのことを抱えています. :-(
linq-to-sql を使用して、マッピング テーブルを介して多くのカテゴリにマップされた項目を含むテーブルがあります。
複数のカテゴリにマップされているすべてのアイテムを引き出す必要がありますが、必要なすべてのカテゴリにマップされているアイテムのみを抽出する必要があります。これは、任意のカテゴリ ID にマップされたデータを取得するための元のブリーフに対する変更です。
例:
人物 A はカテゴリ 1、カテゴリ 2、カテゴリ 3 にマッピングされます 人物 B はカテゴリ 1、カテゴリ 3 にマッピングされます
したがって、カテゴリ 1 と 2 を選択すると両方の人物アイテムが返されますが、1、2 と 3 を選択した場合は人物 A のみが返されます。
以下は、ANY アイテムを返す元の (簡略化された) コードです。
IList<Person> results = (from a in data from b in a.CategoryMappings
where catIDs.AsEnumerable().Contains(b.CategoryID)
select a).Distinct().ToList();
catIDs はIList<int>
、クエリに送信されたデータから取得されたもので、任意の長さにすることができます。データは IQueryable です。
このクエリを作成する方法はありますか?
T