假设我有一个返回带有ID
属性(列)的数据类型的IQueryable
。
我想进一步过滤我的查询(我不想评估查询),如下所示:
对于主查询中的每个唯一ID
,我想要Take(n)
,其中n
是任意数字。
也就是说,我只想保留每个唯一ID的前n
行。
我可以获取不同的ID
...
var ids = query.Select(q => q.ID).Distinct();
我可以使用 Take(n)
,但是我在连接这两个方面遇到了困难:
query = query.<FOR EACH DISTINCT ID>.Take(n);
被接受的答案可以工作,但对于大型表而言速度较慢。我在这个问题的后续中提出了我的看法。