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