我正在開發一個用於SharePoint 2010安裝的Web部件。這有多個網站,每個網站都有頁面,並且可能有子網站,它們自己擁有更多網頁和網站。我想獲取整個安裝中符合特定條件的所有頁面的列表(例如title == "Test"
)。在Sharepoint服務器上跨所有站點和子站點的Linq查詢?
我可以使用CAML SPSiteDataQuery對象並將'Web'屬性設置爲<Webs Scope="Recursive" />
。顯然這使查詢考慮當前網站和所有子網站。
另一方面,如果可能,我想使用linq2sp,因爲它會爲其他開發人員提供更容易的學習曲線。使用SPMetal我可以爲我的網站生成一個DataContext,然後可以用linq查詢它,但是這隻會訪問根網站中的頁面。
是否有某種方法來控制Linq查詢的範圍,以便它可以在所有網站中的所有頁面上工作?
感謝, 小號
這是一個很好的問題,通常回答爲「使用EntityList .ScopeToFolder」,它與您提出的問題無關。很難想象他們忘了這個。來自Codeplex的開源Linq2SP提供程序的簡單調整足以添加範圍參數。必須...反映...在RTM上,看看發生了什麼 –
2010-07-08 09:39:27