1

我的 C#/asp.net 项目中有一个复选框列表,我正在使用一个 dataTable 填充它,该数据表从查询中获取数据到我的数据库。该查询返回大量数据,我想在过滤数据之前限制它最初显示的元素数量。(比如说,前 1000 名)。我该怎么做呢?

4

2 回答 2

2

有两个地方可以限制数据的数量。

在数据库中(假设您使用 SQL Server),您可以修改查询以返回前 1000 行。

SELECT TOP 1000 * FROM SomeTable

或者您可以在数据到达后使用 Linq 过滤数据。

var newData = dataTable.AsEnumerable().Take(1000);

我更喜欢第一种方法,所以你不会到处乱扔无用的数据。但是,如果您在其他地方需要该数据,第二个肯定也有效。

于 2012-10-17T17:19:07.940 回答
0

您可以使用Take<>通用 IEnumerable 方法:

var data = someQuery.Exec();
var limitedData = data.Take(1000).ToArray();
于 2012-10-17T17:02:36.060 回答