C# 在SharePoint列表对象上使用linq

C# 在SharePoint列表对象上使用linq,c#,linq,sharepoint,C#,Linq,Sharepoint,我有一个引用SharePoint列表的C#变量 我需要迭代每个列表项并进行条件检查 我想在进入循环之前使用linq调用过滤掉一些数据 以下是我引用列表的方式: SPList list = root.Lists[LISTNAME]; 我想做一些类似的事情: var items = from li in list.items where li.field.Contains("value") select li; 这可能吗?我不确定标准命名空间System.Linq是否可以与Sha

我有一个引用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一起使用

谢谢,
Andrew

您可能想要
Microsoft.Sharepoint.Linq
名称空间,而不是
System.Linq
。你可以找到它。Microsoft也有一些关于Linq到SharePoint的文档。

如果您需要使用Linq,可以使用。但使用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);
SPWeb-web=SPContext.Current.web;
SPList list=web.Lists[LISTNAME];
SPQuery query=新建SPQuery
{
查询=@“
你的价值
"
};
SPListItemCollection items=list.GetItems(查询);

谢谢。有没有一种方法可以执行类似于:“+dynamicValue+”的操作?当然,只需附加一个字符串。格式化并清理您的输入。如果我有一个列表项ID,并且希望根据ID获取字段文本,该怎么办?@SearchForkKnowledge,您可以使用,或者在CAML
123
@RubensFarias谢谢!