我有一个引用SharePoint列表的C#变量。
我需要迭代每个列表项并进行条件检查。
我想在进入循环之前使用linq调用来过滤掉一些数据。
以下是我如何引用该列表:
SPList list = root.Lists[LISTNAME];
我想做类似的事情:
var items = from li in list.items
where li.field.Contains("value")
select li;
这可能吗?我不确定标准命名空间System.Linq是否可以与SharePoint一起使用。
谢谢, 安德鲁
答案 0 :(得分:6)
如果您需要使用Linq,您可以使用SPMetal。但是你可以通过使用CAML查询获得更好的性能,如下所示:
SPWeb web = SPContext.Current.Web;
SPList list = web.Lists[LISTNAME];
SPQuery query = new SPQuery
{
Query = @"<Where>
<Contains>
<FieldRef Name='Field' />
<Value Type='Text'>your value</Value>
</Contains>
</Where>"
};
SPListItemCollection items = list.GetItems(query);
答案 1 :(得分:3)