2
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)。

4

1 回答 1

0

如果您返回结果,您可以通过排名过滤列表,如下所示:

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();
于 2012-04-09T14:20:49.577 回答