OrmLite查询OrderBy方法的问题

时间:2013-11-25 03:47:38

标签: sql-server sql-order-by servicestack ormlite-servicestack

在为OrmLite生成查询时,我遇到了与OrderBy方法相关的一些问题。以下两个陈述有效:

.OrderBy(ob => new { at = ob.SortBy, ob.Id });
.OrderBy(ob => new { at = Sql.Desc(ob.SortBy), ob.Id });

但是下面的语句给了我一个编译错误(无效的匿名类型成员声明符。必须使用成员赋值,简单名称或成员访问声明匿名类型成员):

.OrderBy(ob => new { at = Sql.Desc(ob.SortBy), Sql.Desc(ob.Id) });

以下语句给出了一个sql错误(关键字'ASC'附近的语法不正确):

.OrderBy(ob => new { at = Sql.Desc(ob.SortBy) });

当深入挖掘时,我发现OrderByExpression给了我:

ORDER BY“SortBy”DESC ASC

1 个答案:

答案 0 :(得分:1)

所以......现在我已经和OrmLite合作了几天的半明显的解决方案/解决方法就是连接语句并使用OrderByDescending ......例如

.OrderByDescending(ob => ob.SortBy).OrderByDescending(ob => ob.Id)

.OrderByDescending(ob => ob.SortBy)