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表。
(我想在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();

10-08 03:49