之前一直以为,两个字段排序是OrderBy().OrderBy(),结果今天刚才有个需求要用到,试了一下发现有问题。
var list = db.EntityName.OrderBy(o => o.Field1).OrderBy(o => o.Field2).ToList();
其实这样子出来的结果是按Field2进行排序的,而跟Field1毛关系都没有。
那要怎样两个字段同时排序呢?查了资料后才发现,原来还有个ThenBy()的方法。
所以,要两个字段同时排序,应该是OrderBy().ThenBy()才对。例如:
var list = db.EntityName.OrderBy(o => o.Field1).ThenBy(o => o.Field2).ToList();
这下出来的结果就对了。