linq - 通过 id 列表获取实体列表 - 按顺序

标签 linq entity-framework

查看此问题/答案:Entity Framework: Get all rows from the table for the ids in list

现在我的问题是:我想按照 id 列表中的方式对实体进行排序。

我将处理一个小列表,并且不介意从数据库中提取列表后它是否在内存中排序。

最佳答案

var result = db.table
  .Where(l => ids.Any(id => id == l.id))
  .ToList()
  .OrderBy(l => ids.IndexOf(l.id));

var result = db.table
  .Where(l => ids.Contains(l.id))
  .ToList()
  .OrderBy(l => ids.IndexOf(l.id));

两者都应该可以正常工作。

关于linq - 通过 id 列表获取实体列表 - 按顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31843807/

相关文章:

c# - 为什么使用 EF/Linq to sql 创建性能不佳的查询如此容易

c# - Entity Framework 运行存储过程和 native 查询性能注意事项

entity-framework - EF Core 2.1 在求和和分组时进行本地计算

c# - ASP.NET 保存复杂的实体模型

c# - Linq to entity order by sql

c# - OrderBy 子集合特定类别

c# - 从列表中删除项目的最佳方法

c# - Entity Framework 外键跟踪导致问题

c# - 我可以有条件地使用 LINQ 创建 IEnumerable 吗?

c# - 检查列表包含字符串