0
我正在做一個SP2010頁面,用戶可以通過階段篩選項目(這是一個多選區域)。出於性能原因和過濾器的性質,我不得不求助於System.Linq.Dynamic來進行此查詢。Multichoice字段與動態linq
我試過以下(這不是真正的代碼,但體現了我在做什麼):
var lstObjects = new List<object>();
var query = "Phase = @0 ";
lstObjects.Add(Phase.Value);
context.myList.Where(query,lstObjects.ToArray());
這工作,如果項目只有一個階段,是被過濾的一個。如果物品有多個階段(如階段1和階段2),並且按階段1進行過濾,則必須顯示。我如何過濾multichoice字段?
編輯:忘了提及,對象「Phase.Value」的類型是使用SPMetal生成的標誌枚舉。
該對象可以具有多個階段,但只可以通過一個過濾器。但是查詢必須使用動態Linq,因爲其他人可以過濾並獲得最佳性能。 – jpiolho 2011-01-19 14:32:52