• 3月
    28日
    LinQ.OrderBy 方法两个字段同时排序
    C# dier 2014-03-28 07:46 6672 0

    之前一直以为,两个字段排序是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();

    这下出来的结果就对了。 

文章评论