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) + ")
i
和 j
是带有一些整数值的可验证对象。
我如何编写 LINQ 查询,就像这个 SQL 查询一样,其中我的 View_AllArt
将成为 dtAccount
表。
(我想在 DataTable 上创建 LINQ)。
最佳答案
如果你返回结果,你可以像这样按排名过滤列表:
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();
关于c# - 在 DataTable 上创建 LINQ 以获取 RowNumber,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10074551/