Reputation: 65
can any one to help to convert this below given sql query to linq.
exec sp_executesql N'use db;
WITH Members AS
(
select ROW_NUMBER() OVER (ORDER BY id DESC) as row, num
from tbl
)
Select row, num
from Members
where row BETWEEN @InitialRow AND @EndRow order by row ASC;',N'@InitialRow int,@EndRow int',@InitialRow=0,@EndRow=5
-- thanks,
Upvotes: 0
Views: 50
Reputation: 70523
Here is a way to to it (with @InitialRow=0,@EndRow=5) :
var result = Members
.OrderByDescending(x => x.id)
.Take(5)
.Select((x,i) =>
new { row = i, num = x.num });
With any values:
var result = Members
.OrderByDescending(x => x.id)
.Skip(InitialRow)
.Take(EndRow-InitialRow)
.Select((x,i) =>
new { row = i+InitialRow, num = x.num });
Upvotes: 1