按ID列表获取实体列表 - IN ORDER

时间:2015-08-05 22:22:04

标签: linq entity-framework

请参阅此问题/答案:Entity Framework: Get all rows from the table for the ids in list

现在我的问题:我想让实体按照它们在id列表中的顺序进行排序。

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

1 个答案:

答案 0 :(得分:8)

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));

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