エンティティフレームワーク4とlinq/lamda式を使用しています。確かに簡単ですが、配列を使用してコレクションをクエリしようとしていますが、すべての配列値を含むレコードを取得しています。
基本的に私がしていることはこれです
var records = collection.where(x.classifications.Any(y=> Array.Contains(y.ClassificationID))).ToList()
これは、配列値のいずれかを含むレコードを返すという意味で機能しますが、配列内のすべての値を含むレコードのみを取得するにはどうすればよいですか。
それが理にかなっていることを願っています
編集:
以下のコメントを回答としてマークしているのは、クエリでALLを使用して機能させる必要があったためですが、クエリを少し書き直す必要もありました。これは私が最終的に持っていたものです...
var records = collection.Where(x=> Array.All(c=> x.Classifications.Select(l=>l.ClassificationID).Contains(c)))