如何通过id列表对IQueryable进行排序

时间:2012-01-10 22:25:33

标签: sql linq

在mysql中我可以这样做:

SELECT id, name FROM pages WHERE id IN (5, 10, 20) ORDER BY FIELD(id, 5, 10, 20);

在IQueryable上使用LINQ的相应语法是什么?

基本上我正在使用lucene.net进行搜索,我想使用返回的ID以特定的相关顺序获取真实的数据库条目。

1 个答案:

答案 0 :(得分:3)

var ids = new List<int>() { 5, 10, 20 };

var linqQueryResult = foo.Where(...).OrderBy(i => ids.IndexOf(i.id));