2016-04-21 69 views
0

當我做ISitecoreContext.Query,如果查詢包含[@@ TEMPLATENAME =「some_name」],例如:如何防止Glass Mapper執行Sitecore快速查詢?

"/sitecore/Content/Home/*[@@templatename='some_name']" 

查詢結果如下內容樹的順序。

否則,類似如下:

"/sitecore/Content/Home/*" 

排序不遵循內容樹順序。

玻璃映射器是否自動切換到Sitecore快速查詢以及如何防止這種情況發生? (更好的是,我不必在排序順序字段中解決這個問題...)

+0

你在屬性中使用isrelative = true嗎? –

+0

爲什麼在嘗試從樹形目錄字段中加載IEnumerable時詢問有關查詢?如果您有兩個單獨的問題,請提出兩個單獨的問題。 –

+0

@BenGolden感謝您的提醒,現在我編輯了我的問題 – jackielpy

回答

3

玻璃不會改變樹列表中項目的排序順序,所以我不確定是什麼導致了這個問題。此外,玻璃不使用快速查詢,除非你指示它。

測試這是否爲Glass錯誤的最佳方法是使用原始Sitecore API。爲了測試你的查詢使用Database.SelectItems和測試樹列表使用標準的Sitecore.Data.Fields.MultilistField。

如果你注意到SC和Glass返回的差異,請在Github上提出一個錯誤。

+0

感謝您的建議,我只是嘗試了兩種方法,Sitecore API返回了與Glass相同的內容。所以這可能是一個Sitecore配置問題? – jackielpy

+1

如果這是一個sitecore問題,您將需要聯繫SC支持。 –