Каким будет аналог LINQ, чтобы получить номер строки для раздела и затем получить только те записи, у которых номер строки равен 1?
Вот SQL-код, который я хочу преобразовать в его реализацию LINQ:
select
ROW_NUMBER () OVER (PARTITION BY TASKKEY ORDER BY CREATEDON DESC) as rn
,pwt.*
from
TaskClass pwt
where pwt.STATUS = 0
Вот LINQ, который я пробовал до сих пор, но он не дает правильного результата
var output = Result.GroupBy(t => t.TaskKey)
.SelectMany(g => g.Select((j, i) =>
new
{
//Rest of the fields
,
rn = i + 1 //Row number
}
)
)
.Where(e => e.rn == 0)
.Select(
y => new TaskClass
{
//Rest of the fields
}
).OrderBy(o => o.Id )
.ToList<TaskClass>()
);
В двух словах, я хочу найти, какая запись из строк, имеющих такой же TaskKey, имеетпоследний созданный, но в чистом LINQ.