我有一個LINQ到SQL查詢在實體具有子EntitySet的,我需要排序的某些子領域,即使用此查詢:LINQ到SQL動態排序問題
var query = from p in context.Patients
let order = p.Lab_Orders.First()
orderby order.Order_Date
select p;
這個查詢運行良好,但我將如何修改它以使用DLINQ OrderBy方法我將在運行時作爲排序參數傳遞什麼?
感謝您的答覆。這正是我的意思 - 動態LINQ。關於混亂的Ssory,不知何故,我想每個人都知道這是什麼,因爲我們在我的工作場所使用這個術語:-)只有一個問題 - 有時我們有新的患者沒有相關的實驗室訂單。顯然在這種情況下,我不關心這種排序。我應該用FirstOrDefault()替換First()嗎? – Victor 2010-01-27 15:52:23
@Victor:如果你用'FirstOrDefault'替換並嘗試對'FirstOrder.Order_Date'進行排序,如果有任何記錄沒有訂單,你將得到一個'NullReferenceException'。如果有可能沒有訂單,我會建議明確地打出訂單日期,如:FirstOrderDate = p.Lab_Orders.FirstOrDefault(o =>(DateTime?)o.Order_Date)',然後在' FirstOrderDate'。 – Aaronaught 2010-01-27 16:09:50
有可能沒有訂單,但新患者分開處理,即所有患者都有訂單,或者他們都沒有訂單。但是,我認爲你的建議是站得住的,所以我會這樣做。 – Victor 2010-01-27 16:30:13