我想編寫一個EF查詢,它根據條件進行升序或降序排序。以下是我的僞代碼:實體框架按查詢中的行字段降序排列
var result= q.OrderByDescending(x => x.StatusId == 3)
then if(x.StatusId == 3)
then order by x.ReserveDate
else
then order by descending x.LastUpdateDate
我該怎麼做?
按照給定鏈路它會幫助你。 https://stackoverflow.com/questions/2643383/order-by-descending-based-on-condition –
'var query = q.OrderByDescending(...); if(..)query = query.ThenBy(...); else query = query.ThenByDescending(...); result = query.ToList();'或類似的東西。 – pinkfloydx33
對我來說沒有意義,您將結果集列值與3進行比較並進行排序。相反,您應該在查詢之前應用條件,然後對結果集進行排序。如果x = 3,查詢應該返回OrderDate的順序,否則按上次更新日期的順序排序。 –