2010-05-05 35 views
1

我有以下代碼:SPSiteDataQuery可以搜索列表和庫嗎?

SPSiteDataQuery query = new SPSiteDataQuery(); 
query.ViewFields = "<FieldRef Name=\"UniqueId\" />"; 
query.Webs = "<Webs Scope=\"SiteCollection\" />"; 
query.Query = "<Where<Eq><FieldRef Name='MyCustomField' /><Value Type='Boolean'>1</Value></Eq></Where>"; 
query.Lists = "<Lists BaseType=\"1\" />"; 
DataTable results = site.RootWeb.GetSiteData(query); 

此搜索所有的文檔庫的網站集中,但我想搜索所有的列表爲好。有沒有辦法設置Lists屬性同時搜索兩個?

回答

0

我不相信有。

SPSiteDataQuery一次針對1種特定類型的內容(即列表類型)。

當您需要來自不同類型內容的結果(例如,共享自定義字段)時,請在搜索(在共享服務提供商中)中創建一個託管屬性,然後使用FullTextSqlQuery類查詢所有內容也可以跨網站收藏,因爲它使用MOSS搜索索引)。