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