如何防止Glass Mapper进行Sitecore快速查询?

如何防止Glass Mapper进行Sitecore快速查询?,sitecore,glass-mapper,Sitecore,Glass Mapper,执行ISitecoreContext.Query时,如果查询包含[@@templatename='some_name'],例如: "/sitecore/Content/Home/*[@@templatename='some_name']" 查询结果遵循内容树中的顺序 否则,如下所示: "/sitecore/Content/Home/*" 排序不遵循内容树顺序 Glass Mapper是否会自动切换到Sitecore快速查询?如何防止这种情况发生?(最好我不必以排序顺序字段的方式解决此问题……

执行ISitecoreContext.Query时,如果查询包含[@@templatename='some_name'],例如:

"/sitecore/Content/Home/*[@@templatename='some_name']"
查询结果遵循内容树中的顺序

否则,如下所示:

"/sitecore/Content/Home/*"
排序不遵循内容树顺序


Glass Mapper是否会自动切换到Sitecore快速查询?如何防止这种情况发生?(最好我不必以排序顺序字段的方式解决此问题……

Glass不会更改树列表中项目的排序顺序,因此我不确定是什么原因导致此问题。另外,除非您指示,否则Glass不会使用快速查询

测试这是否是Glass bug的最佳方法是使用原始Sitecore API。要测试您的查询,请使用Database.SelectItems;要测试树列表,请使用标准的Sitecore.Data.Fields.MultilistField


如果您确实注意到SC和Glass返回的内容之间存在差异,请在Github上引发错误。

Glass不会更改树列表中项目的排序顺序,因此我不确定是什么原因导致了这种情况。另外,除非您指示,否则Glass不会使用快速查询

测试这是否是Glass bug的最佳方法是使用原始Sitecore API。要测试您的查询,请使用Database.SelectItems;要测试树列表,请使用标准的Sitecore.Data.Fields.MultilistField


如果您确实注意到SC和Glass返回值之间存在差异,请在Github上提出一个错误。

您是否在属性中使用isrelative=true?当您试图从树列表字段加载IEnumerable时,为什么要询问查询?如果您有两个单独的问题,请提出两个单独的问题。@BenGolden谢谢提醒,现在我已经编辑了我的问题您是否在属性中使用isrelative=true?当您试图从树列表字段加载IEnumerable时,为什么要询问查询?如果您有两个不同的问题,请提出两个不同的问题。@BenGolden感谢您的提醒,现在我已经编辑了我的问题谢谢您的建议,我刚刚尝试了这两个问题,Sitecore API返回了与Glass相同的结果。所以这可能是Sitecore配置问题?如果这是Sitecore问题,您需要联系SC支持。感谢您的建议,我刚刚尝试了这两种方法,Sitecore API返回的结果与Glass相同。所以这可能是Sitecore配置问题?如果这是Sitecore问题,您需要联系SC支持。