LINQ到SQL利用的ROW_NUMBER()
分页的目的,即当您使用跳过()和Take()。
不过,我似乎无法找到实际访问的方式ROW_NUMBER()
查询值自己。 我需要找到一个查询中的记录的ROW_NUMBER()( 不把所有的记录回 )。
我在T-SQL和LINQ successfuly做到了这一点,以对象,但LINQ到SQL的解决方案被证明是难以捉摸的。
在LINQ到对象我能得到这样的行数:
var rowTarget =
mainQuery
.Select((obj, index) => new { obj.ID, Index = index })
.SingleOrDefault(x => x.ID == targetID);
// rowTarget.Index is the answer
但LINQ到SQL不支持的替代Select()
使用索引参数(这是有道理的,真的- ROW_NUMBER()
将仅跳过()使用,以()正在使用)。
我似乎无法找到不会导致从数据库返回的所有记录的解决方案。
这甚至可能吗?