2014-09-30 91 views
0

我有OrderByDescending一个问题,在果园CMSOrderByDescending在果园CMS

示例数据:

ID  Name    DomainId 
1   First    2 
2   Join    3 
3   Peter    1 
4   Abert    1 
5   saha    2 

使用LINQ到SQL代码在这里:

的IQueryable()OrderByDescending(R => r.DomainId == 2)

它返回正确的结果!

ID  Name    DomainId 
1   First    2 
5   saha    2 
2   Join    3 
3   Peter    1 
4   Abert    1 

但OrchardCMS

IContentQuery()OrderByDescending。(R => r.DomainId == 2)

它返回不正确的结果,它会从订购从大到小

ID  Name    DomainId 
2   Join    3 
1   First    2 
5   saha    2 
3   Peter    1 
4   Abert    1 

为什么不正确?以及如何修复

请帮帮我!


我想通过域ID

以返回与排序结果

实施例:用域ID = 2 => IContentQuery()OrderByDescending(R => r.DomainId == 2)

ID  Name    DomainId 
1   First    2 
5   saha    2 
2   Join    3 
3   Peter    1 
4   Abert    1 

实施例:用域ID = 3 => IContentQuery()OrderByDescending(R => r.DomainId == 3)

ID  Name    DomainId 
2   Join    3 
1   First    2 
5   saha    2 
3   Peter    1 
4   Abert    1 

回答

0

IContentQuery().OrderByDescending(r=> r.DomainId)是我认为的正确方法。表达式(r=> r.DomainId == 2)是否评估正确的结果?

1

尝试: .OrderByDescending(R => r.DomainId == 2?1:0)

+0

不对,太! :( – 2014-10-01 07:39:36

+0

怎么会这样?它怎么不起作用? – 2014-10-02 05:19:01

+0

它返回的结果不正确,它会按顺序从大到小,上面同样的问题 – 2014-10-02 09:34:49