如何编写Linq2Sql语句以级联方式对几列进行排序?

时间:2010-06-06 04:11:13

标签: linq-to-sql

我想用Excel方式对3列进行排序,即对第一列进行排序,对于在第一列中排序的每个元素,我将对第二列进行排序,依此类推。假设我首先按字母顺序排序国家,然后对于每个国家/地区,我按字母顺序排序城市。我如何使用Linq2Sql?

1 个答案:

答案 0 :(得分:2)

你可以将一堆排序串起来。

您需要使用OrderByThenBy

您可以将它们链接在一起以进行延迟排序,直到您执行ToList

List<YourData> places = GetPlaces();
List<YourData> sortedPlaces = places.OrderBy(p => p.Country).
    ThenBy(c => c.City).
    ThenBy(s => s.SomethingElse).
    ToList();

使用查询语法:

var places = from p in db.Places
             orderby p.Country, p.City, p.SomethingElse
             select p;