【发布时间】:2010-12-17 20:13:01
【问题描述】:
我有以下两个电话,都一样,但结果不同...
这是一个连接本地数据库的简单控制台应用程序。
DBContext db = new DBContext();
这个排序符合预期,
var q = from x in db.Cities
orderby x.CountryCode, x.City
select x;
foreach(var x in q){
Console.WriteLine("{0}:{1}",x.CountryCode, x.City);
}
但是为什么这个不按 City 排序,它只按 CountryCode 排序
foreach(var x in db.Cities.OrderBy(d=>d.City).OrderBy(d=>d.CountryCode)){
Console.WriteLine("{0}:{1}",x.CountryCode, x.City);
}
如果我更改 OrderBy 语句的顺序,那么只有 Last OrderBy 似乎可以正常工作,但中间的 OrderBy 完全没有影响。这是 EF 或 Linq 扩展中的错误吗?
我在重写查询方面没有问题,但我想知道 OrderBy Linq Extension 方法有什么问题?
【问题讨论】:
标签: .net-4.0 entity-framework-4 linq-to-entities