在数据表上创建 LINQ 以获取 RowNumber

本文关键字:获取 RowNumber LINQ 创建 数据表 | 更新日期: 2023-09-27 18:30:34

SELECT * FROM
 (SELECT distinct ROW_NUMBER() OVER (ORDER BY ProductId desc) AS Ranking,
 ProductId,
 ProductName,
 FROM View_AllArt) 
 AS foo 
 WHERE Ranking > " + i + " AND Ranking <= (" + (j) + ")

ij是具有一些整数值的可验证值。

我如何像这个SQL查询一样编写LINQ查询,其中我的View_AllArt将成为dtAccount表。(我想在数据表上创建 LINQ)。

在数据表上创建 LINQ 以获取 RowNumber

如果返回结果,则可以按以下排名筛选列表:

var table = GetDataTable(); //retrieve the data
int i = 10;
int j = 20;
table = table.AsEnumerable().Where(r => r.Field<int>("Ranking") >= i && r.Field<int>("Ranking") <= j).AsDataView.ToTable();

编辑

您可以使用 DataTable 的行索引避免返回行号:

table = table.AsEnumerable().Where(r => table.Rows.IndexOf(r) >= i && table.Rows.IndexOf(r) <= j).AsDataView().ToTable();