c# - 按特定顺序对 IQueryable 进行排序

标签 c# sorting iqueryable

我有一个表,我想按名称按特定顺序和日期提取项目。

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

最佳答案

var myTable = _context.TheTable.Where(x => itemNames.Contains(x.id))
                      .OrderBy(x => x.name).ThenBy(x => x.date);

关于c# - 按特定顺序对 IQueryable 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47062697/

相关文章:

c# - SecurityPermission 和 SecurityPermissionFlag.SkipVerification 的后果

C# 引用对象时正确的图表是什么?

c# - 关于 C# 风格的好书?

java - 归并排序的另一种变体

c# - ICollection 上的 AsQueryable() 真的可以延迟执行吗?

c# - EntityFrameworkCore SQLite 内存数据库表未创建

c++ - 通过增加元素的频率对数组进行排序

php - 重新排序具有排名的多个项目的算法

ravendb - 返回 IQueryable 但需要 Raven 统计信息才能插入 TotalResults header

iqueryable - System.Linq.Expressions.ExpressionVisitor 由于其保护级别而无法访问