请问如何将ThenBy
翻译为Linq-To-Sql
?
var movies = _db.Movies.Orderby(c => c.Category).ThenBy(n => n.Name)
var movies = from m in _db.Movies
orderby m.Category
// What's the syntax for ThenBy?!
// thenby m.Name
select m;
当我尝试thenby m.Name
时,我收到编译错误。
答案 0 :(得分:6)
var movies = from m in _db.Movies
orderby m.Category, m.Name
select m;
答案 1 :(得分:0)
除了一个简单的逗号分隔表达式列表(转换为ThenBy
方法调用)之外,您还可以指定排序顺序:
var q = from m in db.Movies
orderby m.Category descending, m.Name ascending
select m
// Translates to:
db.Movies.OrderByDescending(...).ThenBy(...)
另一个例子:
var q = from m in db.Movies
orderby m.Category, m.Name descending
select m
// Translates to:
db.Movies.OrderBy(...).ThenByDescending(...)
逗号分隔列表的第一个元素将转换为OrderBy
或OrderByDescending
(如果您指定descending
关键字)。同样,下一个元素将转换为ThenBy
或ThenByDescending
。您也可以编写ascending
,但这是默认选项,因此它的行为方式与您不使用它的方式完全相同。