我编写了以下方法,试图扩展IQueryable<T>
以提供与我的自定义寻呼机控件集成的通用分页。但是,当我尝试在IQueryable<Account>
上调用该方法时,我得到以下编译器错误:
BC30456:'Page'不是'System.Linq.IQueryable(Of。)的成员 OrgName.ProjName.Account)”
来源:
Imports System.Runtime.CompilerServices
Module Paging
<Extension()>
Public Function Page(Of T)(source As IQueryable(Of T), pageIndex As Integer, pageSize As Integer, ByRef recordCount As Integer) As IQueryable(Of T)
recordCount = source.Count()
Return source.Skip(pageIndex * pageSize).Take(pageSize)
End Function
End Module
模块文件与Account
业务对象(OrgName.ProjName
)位于同一程序集和命名空间中。 (名称已被更改以保护无辜者。)
我不确定上述内容与此问题中接受的答案有何不同(显然除语言外): Transform LINQ IQueryable into a paged IQueryable using LINQ to NHibernate
知道我做错了吗?
答案 0 :(得分:1)
确保您的模块是公共的,并确保在要使用扩展方法的文件中使用相应的“Imports”语句。
干杯