Je travaille sur un webpart pour une installation SharePoint 2010. Cela a plusieurs sites, et chaque site a des pages, et peut avoir des sous-sites, eux-mêmes avec plus de pages et de sites. Je veux obtenir une liste de toutes les pages de l'installation qui correspondent à certains critères (par exemple title == "Test"
).Requête Linq sur tous les sites et sous-sites sur un serveur SharePoint?
Je peux le faire en utilisant un objet CAML SPSiteDataQuery et en définissant la propriété 'Webs' sur <Webs Scope="Recursive" />
. Évidemment, cela fait que la requête considère le site actuel et tous les sous-sites. D'autre part, je veux utiliser linq2sp si possible car cela présentera une courbe d'apprentissage plus facile pour les autres développeurs. En utilisant SPMetal, je peux générer un DataContext pour mon site, puis l'interroger avec linq, mais cela n'accède qu'aux pages du site racine.
Existe-t-il un moyen de contrôler la portée d'une requête Linq afin qu'elle fonctionne sur toutes les pages de tous les sites?
grâce, S
C'est une bonne question à laquelle on répond habituellement avec "Utiliser EntityList .ScopeToFolder", ce qui n'a rien à voir avec ce que vous demandez. Difficile de penser qu'ils ont oublié celui-ci. Un simple ajustement dans le fournisseur Linq2SP open source de Codeplex suffisait à ajouter un paramètre de portée. Je dois ... réfléchir ... sur la RTM un peu pour voir ce qui se passe –