如何将结果集减少到ASP.NET Linq to Entities

时间:2018-02-06 16:10:37

标签: c# asp.net sql-server entity-framework linq

我基本上需要做的是here

SELECT t.id, t.key
FROM
(
    SELECT id, key, ROW_NUMBER() OVER (ORDER BY key) AS rownum
    FROM datatable
) AS t
WHERE t.rownum % n = 0   
ORDER BY t.key

但使用Linq to Entities。我无法弄清楚如何。方法ROW_NUMBER未知,并且在where子句中使用索引会给我一个错误。

Query.Where((s, i) => i % n == 0);

编辑:更确切地说

Query.Select((s, i) => new { index = i, data = s } ).Where(s => s.index % n == 0).Select(s => s.data)

到目前为止,对我有用的唯一解决方案是暂时运行SQL(toList)并在之后对其进行过滤。然而,这显着减慢了我的服务器速度。

0 个答案:

没有答案