我需要將一個LINQ To SQL查詢的結果追加到數據庫服務器端的另一個上,而無需重新排序行。合併2 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()
調用有關,但我有興趣在數據庫級別完成此操作。
好,很好的答案。它提供了一個想法。我使用基於「分組」方法的解決方案更新了我的問題。 – Denis
只需使用一個常量('select new {OrderPrefix = 1,OtherFields ...}')。 – usr
@usr,沒錯。 – Denis