【发布时间】:2012-04-02 16:59:52
【问题描述】:
我有一个DataTable,它有一个结构和数据:
id | inst | name
------------------------
1 | guitar | john
2 | guitar | george
3 | guitar | paul
4 | drums | ringo
5 | drums | pete
我可以通过以下方式检索记录:
IEnumerable <Beatle>...
class Beatle
{
int id;
string inst;
string name;
}
我想了解演奏不同乐器的人的内部顺序。在 MSSQL 中我会使用
SELECT
*
,Row_Number() OVER (PARTITION BY inst ORDER BY id) AS rn
FROM Beatles
这个查询返回
id | inst | name | rn
-----------------------------
1 | guitar | john | 1
2 | guitar | george | 2
3 | guitar | paul | 3
4 | drums | ringo | 1
5 | drums | pete | 2
问题:
我怎样才能在 Linq 中做到这一点?
【问题讨论】:
-
Linq2SQL 还是 EF?不确定这是否会有所不同:)
-
如果我理解正确的话,考虑到带有索引参数的 Select 重载,这应该不难。