ユーザーがフェーズでアイテムをフィルターできる SP2010 ページを作成しています (これは複数選択フィールドです)。パフォーマンス上の理由とフィルターの性質から、このクエリを作成するには System.Linq.Dynamic に頼らなければなりませんでした。
私は次のことを試しました(これは実際のコードではありませんが、私がやっていることを例示しています):
var lstObjects = new List<object>();
var query = "Phase = @0 ";
lstObjects.Add(Phase.Value);
context.myList.Where(query,lstObjects.ToArray());
これは、アイテムにフェーズが 1 つしかなく、フィルタリングされているフェーズである場合に機能します。アイテムに複数のフェーズ (フェーズ 1 と 2 など) があり、フェーズ 1 でフィルター処理する場合、表示する必要があります。複数選択フィールドをフィルタリングするにはどうすればよいですか?
編集: 言及するのを忘れて、オブジェクト「Phase.Value」の型は、SPMetal を使用して生成されたフラグ列挙型です。