可以使用LINQ使用不同的orderby子句對組排序嗎?例如,在一個組中,我想按升序對結果進行排序,然後在不同的組中按降序排序,方法是使用可確定排序方向的屬性。在單個LINQ查詢中按子句動態排序
我可以通過遍歷組並對組應用排序來完成此操作,但是我的問題是這是否可以作爲原始LINQ查詢的一部分來完成?這樣做會否對性能產生負面影響?
可以使用LINQ使用不同的orderby子句對組排序嗎?例如,在一個組中,我想按升序對結果進行排序,然後在不同的組中按降序排序,方法是使用可確定排序方向的屬性。在單個LINQ查詢中按子句動態排序
我可以通過遍歷組並對組應用排序來完成此操作,但是我的問題是這是否可以作爲原始LINQ查詢的一部分來完成?這樣做會否對性能產生負面影響?
如果您在組中可以使用某種屬性進行排序,那麼可以一次完成。例如,通過一個int
屬性此代碼將組,並確定基於該值是正還是負
var query = from i in someTable
group i by i.SomeIntProperty into g
let sortAsc = g.Key % 2 == 0
select new
{
Key = g.Key,
Results = sortAsc ? g.OrderBy(x => x.SomeProperty) :
g.OrderByDescending(x => x.SomeProperty)
}
的
可能重複的[如何在MVC4使用動態LINQ?](HTTP排序類型://計算器.com/questions/22005488/how-to-use-dynamic-linq-in-mvc4) – alexmac
「*將決定排序方向*的屬性」從何處被取消?這對於如何工作至關重要。 – James