2010-05-05 4 views
1

J'ai le code suivant:SPSiteDataQuery peut-il effectuer une recherche dans List et Libraries?

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); 

Cette recherche toutes les bibliothèques de documents dans la collection de sites, mais je veux rechercher toutes les listes ainsi. Est-il possible de définir la propriété Lists pour rechercher les deux en même temps?

Répondre

0

Je ne crois pas qu'il y ait. SPSiteDataQuery cible un type spécifique de contenu (c'est-à-dire un type de liste) à la fois. Lorsque vous avez besoin de résultats provenant de différents types de contenu partageant un champ personnalisé commun, créez une propriété gérée dans Rechercher (dans le fournisseur de services partagés), puis utilisez la classe FullTextSqlQuery pour interroger tout le contenu (qui fonctionne cross site collection, vu qu'il utilise l'index MOSS Search).

Questions connexes