请参阅此问题/答案:Entity Framework: Get all rows from the table for the ids in list
现在我的问题:我想让实体按照它们在id列表中的顺序进行排序。
我会处理一个小列表,并且不介意在从db中提取列表后它是否在内存中排序。
答案 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));
两者都应该可以正常工作。