2011-10-24 52 views
0

我有一個任意的字符串列表,我想查詢我的SharePoint列表。如果任何字符串出現在列表項「標題」中,我想返回該結果。現在,我知道如何做到這一點的唯一方法是通過在我的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

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做同樣的事情在SharePoint 2007/WSS3。儘管如此,使用U2U CAML builder dll/library使工作更容易。