1. 程式人生 > >linq/EF/lambda Group by/Order by 多個欄位詳細用法

linq/EF/lambda Group by/Order by 多個欄位詳細用法

1)單個欄位Group by:

//a.Key型別與a.Province欄位型別一樣
.GroupBy(a => a.Province).Select(a => a.Key).ToList();

2)多個欄位Group by:

//此時返回的資料列表需要自己轉換
.GroupBy(a => new { a.Date, a.Week }).Select(a => a.Key).ToList();

3)單個欄位Order by:

.OrderBy(a => a.Date).ToList()

4)多個欄位Order by:

.OrderBy(a => a.Date).ThenBy(a => a.EndTime).ThenBy(a => a.StartTime).ToList()

5)多個欄位Order by倒序:

.OrderByDescending(a => a.Date).ThenByDescending(a => a.EndTime).ThenByDescending(a => a.StartTime).ToList()