我有一个任意的字符串列表,我想查询我的sharepoint列表。如果任何字符串出现在列表项“title”中,我想返回该结果。现在,我知道如何做到这一点的唯一方法是在我的caml查询中创建一堆<OR>
个节点,但有没有办法实现它,所以我不必为每个节点动态生成一个OR节点列表中的一个字符串?类似的东西:
<Contains>
<FieldRef Name="Title" />
<Value type="text"> Value1</Value> (OR)
<Value type="text"> Value2</Value> (OR)
<Value type="text"> Value3</Value>
</Contains>
答案 0 :(得分:0)
LINQ to SharePoint是您的最佳选择。在SharePoint 2010中,您无需使用LINQ to SharePoint来担心底层CAML。你的LINQ查询就像这样简单:
var results = from r in datacontext.List
where r.title.Contains(Value1) OR r.title.Contains(Value2)
我必须编写代码以在CAML中生成动态OR和AND节点,以便在SharePoint 2007 / WSS3中执行相同的操作。使用U2U CAML builder dll/library使工作变得更容易。