基于其他一些列条件的 Linq 顺序
Linq order based on some other column condition
我有一个包含 ID、姓名、国家/地区、州等列的列表
订单声明需要按以下方式
.ToList().OrderByDescending(first=>t.Country).ThenBy(**if state=='GA' then ID else Name**)
我的问题是如何根据其他一些列条件执行此 ThenBy 子句?
那么您不想在数据库中而是在内存中排序是正确的吗?即使那样,您也不应该在开始订购之前使用 ToList
,而应该使用 AsEnumerable
并在末尾添加 ToList
。
var resultList = yourQuery.AsEnumerable() // Linq-To-Objects as desired
.OrderByDescending(x => x.Country)
.ThenBy(x => x.state == "GA" ? x.ID.ToString() : x.Name)
.ToList();
我有一个包含 ID、姓名、国家/地区、州等列的列表
订单声明需要按以下方式
.ToList().OrderByDescending(first=>t.Country).ThenBy(**if state=='GA' then ID else Name**)
我的问题是如何根据其他一些列条件执行此 ThenBy 子句?
那么您不想在数据库中而是在内存中排序是正确的吗?即使那样,您也不应该在开始订购之前使用 ToList
,而应该使用 AsEnumerable
并在末尾添加 ToList
。
var resultList = yourQuery.AsEnumerable() // Linq-To-Objects as desired
.OrderByDescending(x => x.Country)
.ThenBy(x => x.state == "GA" ? x.ID.ToString() : x.Name)
.ToList();