在LINQ中是否有与SQL Server PARTITION OVER功能相当的功能?

问题描述:

LINQ中是否存在SQL Server PARTITION OVER功能的等效项?在LINQ中是否有与SQL Server PARTITION OVER功能相当的功能?

SELECT Decision_ID , 
     ID 
     ROW_NUMBER() OVER (PARTITION BY Decision_ID 
          ORDER BY Decision_ID, ID ASC) calcAmend 
FROM dbo.Decision_Data 

这给每个记录

DecisionData 
    .GroupBy(d => d.DecisionID, 
     (key, dd) => dd 
        .OrderBy(d => d.Id) 
        .Select((d, i) => new {d.DecisionId, d.Id, calcAmend = i})) 
    .SelectMany(d => d) 
+0

有人能向我解释这是为什么的排名??? – 2014-03-06 08:49:47

+0

为什么是什么?请扩大。 – 2014-03-06 12:05:05

+0

我只是没有得到它...我想有人解释它对我:( – 2014-03-08 07:48:39