好的,这可能是一个愚蠢的问题,但我似乎无法弄明白。我以为我会针对DataTable尝试LINQ。我的查询工作正常,现在我正在尝试实现一些简单的分页。
DataTable dataTable = null;
dataTable = GetAllDataTables();
var query = from r in dataTable.AsEnumerable()
orderby r.Field<string>(Constants.fileName)
select r;
query.Skip(WPP_PAGE_SIZE * pageIndex).Take(WPP_PAGE_SIZE);
我的问题是我在query.Skip(...)时遇到错误。
错误1'System.Data.OrderedEnumerableRowCollection' 不包含的定义 '跳过',没有扩展方法'跳过' 接受第一个类型的参数 'System.Data.OrderedEnumerableRowCollection' 可以找到(你错过了吗? 使用指令或程序集 引用?)
我有参考资料:
我错过了什么?
答案 0 :(得分:7)
您的文件顶部需要using System.Linq;
。
第二个问题是你需要将Skip和Take的结果分配给某些东西,否则结果就会被丢弃:
var query2 = query.Skip(WPP_PAGE_SIZE * pageIndex).Take(WPP_PAGE_SIZE);
答案 1 :(得分:2)
using System.Linq?