Linq to sql 如何编写Linq2Sql语句对多个列进行级联排序?

Linq to sql 如何编写Linq2Sql语句对多个列进行级联排序?,linq-to-sql,Linq To Sql,我有3个列,我想用Excel的方式进行排序,即对第一列进行排序,对于在第一列中排序的每个元素,我将对第二列进行排序,依此类推。假设我首先按字母顺序对国家进行排序,然后对每个国家的城市按字母顺序进行排序。如何使用Linq2Sql实现这一点?您可以将一系列排序串在一起 您需要使用OrderBy和ThenBy 在执行ToList之前,您可以将它们链接在一起以获得延迟排序 List<YourData> places = GetPlaces(); List<YourData> so

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

您可以将一系列排序串在一起

您需要使用
OrderBy
ThenBy

在执行
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;