男人女人做那事网站,多语种外贸网站管理系统,做网站什么语言最好,网站单页面怎么做的咨询区 Sasha#xff1a;我有两张表#xff1a;movies 和 categories#xff0c;我想获取一个先按 categoryid 再按 Name 排序的list。movie 表有三个列#xff1a;ID,Name,CategoryID。category 表有两个列#xff1a;ID,Name。我设想的伪代码如下#xff1a;var movies… 咨询区 Sasha我有两张表movies 和 categories我想获取一个先按 categoryid 再按 Name 排序的list。movie 表有三个列ID,Name,CategoryID。category 表有两个列ID,Name。我设想的伪代码如下
var movies _db.Movies.OrderBy( m { m.CategoryID, m.Name })回答区 Scott Stafford不需要用 lambda 方式可以用 查询词法 的形式比如下面这样
var movies from row in _db.Movies orderby row.Category, row.Nameselect row;当然你也可以控制排序的方向默认是升序 (ascending)你也可以改为降序 (descending)比如
var movies from row in _db.Movies orderby row.Category descending, row.Nameselect row;Alex其实实现的方式有很多使用扩展方法 ThenBy 排序
var movies _db.Movies.OrderBy(c c.Category).ThenBy(n n.Name)使用匿名类型排序因为匿名类是被重写过 Equals 和 GetHashcode 的所以可以用来排序。
var movies _db.Movies.OrderBy( m new { m.CategoryID, m.Name })拼接列名还有一种排序方法那就是将多个列拼接在一起然后对复合列进行排序参考如下代码
var movies _db.Movies.OrderBy( m (m.CategoryID.ToString() m.Name))点评区 没想到对list进行二次排序还有这么多方法学习了如果是 Linq 查询数据库的话建议多看看最终生成的sql看是否就是我们需要的。