我實現排序基於參數傳遞到升序或降序排序依據方法倒車基礎上通過的財產IQueryable的排序邏輯
else if (showGrid.Sortdir == "DESC")
{
alerts = DB.Incidents.OfType<Alert>().Where(
a =>
a.IncidentStatusID == (int)AlertStatusType.New ||
a.IncidentStatusID == (int)AlertStatusType.Assigned ||
a.IncidentStatusID == (int)AlertStatusType.Watching)
.OrderByDescending(a => showGrid.Sort);
}
else
{
alerts = DB.Incidents.OfType<Alert>().Where(
a =>
a.IncidentStatusID == (int)AlertStatusType.New ||
a.IncidentStatusID == (int)AlertStatusType.Assigned ||
a.IncidentStatusID == (int)AlertStatusType.Watching)
.OrderBy(a => showGrid.Sort);
}
在升序排序的情況下它工作正常,但對於降序排序不工作。我調試了代碼,發現列表並不像升序那樣受到尊崇。請幫我
聽起來像是'Sortdir適用您的排序'不完全是「DESC」。我建議你在兩個分支中進行日誌記錄(或者調試代碼)以查看實際採用的路徑。 – 2012-03-26 10:49:02
我已經厭倦了它使用「ASC」和「DESC」的相應路徑。而調試我把'警報'的值,我可以看到,當它執行OrderByDesending(a => showGrid.Sort)時,這些項目並不受尊敬; – 2012-03-26 10:57:07
什麼是'showGrid.Sort'?你用什麼樣的LINQ提供商開始? – 2012-03-26 11:01:15