我有一张表,我希望按照特定顺序和日期按名称提取项目。
id name date
1 XYZ 1:30
2 ABC 1:40
3 LMNOQ 1:50
4 ABC 1:20
我创建了订单
List<string> itemNames = new List<string>();
documentOrder.Add("XYZ");
documentOrder.Add("ABC");
documentOrder.Add("LMNOQ");
然后提取数据,我认为订单将保持不变。
var myTable = _context.TheTable.Where(x => itemNames.Contains(x.id));
myTable数据看起来像
id name date
1 XYZ 1:30
2 ABC 1:40
4 ABC 1:20
3 LMNOQ 1:50
现在我需要按日期排序而不会弄乱名称顺序。我需要它看起来像这样。
id name date
1 XYZ 1:30
2 ABC 1:20
4 ABC 1:40
3 LMNOQ 1:50
答案 0 :(得分:3)
var myTable = _context.TheTable.Where(x => itemNames.Contains(x.id))
.OrderBy(x => x.name).ThenBy(x => x.date);
答案 1 :(得分:2)
当使用IQueryable
时,您可以根据需要(通过名称,然后按日期...看起来有点像时间)订购多个排序语句。
var orderedQueryable = queryable.OrderBy(q => q.Name).ThenBy(q => q.Date);