尝试使用MultiDocumentQuery的case when子句进行orderby?

时间:2017-12-31 23:42:33

标签: kentico

我正在尝试从kentico获取所有的页面类型,但我想按照以字母“F”开头的所有页面类型排序,首先按字母顺序排列其他页面。

我正在尝试的是:

1) MultiDocumentQuery docQuery = DocumentHelper.GetDocuments().Type("forms").OnSite(SiteContext.CurrentSiteID).Published(); 2) docQuery.OrderBy("FormName");

但我需要的是使用类似的东西(SQL)命令em:

SELECT FormName FROM Forms order by case when FormName like 'C%' then 0 else 1 end, FormName

我无法做的是将case when正确翻译为c#,并将其实现为docQuery。 所以结果应该是,例如:

  1. Form1
  2. 窗体2
  3. Form3
  4. 甲...
  5. 乙...

1 个答案:

答案 0 :(得分:1)

我想我会在中添加案例语句,而不是像那样

CASE WHEN FormName LIKE 'F%' THEN 0 ELSE 1 END AS IsForm

通过这种方式,您可以拥有一个名为IsForm的新列,并且可以具有排序:

IsForm, FormName