【发布时间】:2014-01-07 17:15:19
【问题描述】:
我需要将一个 LINQ To SQL 查询的结果附加到数据库服务器端的另一个查询而不重新排序行。
我首先需要所有错误订单,然后是挂单。
var error = database.Orders.
Where(o => o.Status == XOrderStatus.Error).
OrderByDescending(o => o.Id);
var pending = database.Orders.
Where(o => o.Status == XOrderStatus.PendingReview).
OrderByDescending(o => o.Id);
var r = error.OrderedUnion(pending);
如何实现OrderedUnion() 方法? Concat、Union 和 Distinct 方法完全消除了 OrderByDescending 调用(按设计)。
我知道可以使用两个 ToArray() 调用,但我有兴趣在数据库级别完成此操作。
【问题讨论】:
标签: c# linq-to-sql concatenation