我有一个从表中检索记录的代码:
var query = (from c in DBContext.MyTable where c.FacilityID == ID select c);
然后我想列出所有记录,我使用下面的代码:
public IEnumerable<IEnumerable<T>> GetPages<T>(IQueryable<T> query, int pageSize)
{
int pageNumber = 10;
var page = GetPage(query, pageSize, pageNumber).ToList();
while (page.Any())
{
yield return page;
page = GetPage(query, pageSize, pageNumber).ToList();
}
}
public IQueryable<T> GetPage<T>(IQueryable<T> query, int pageSize, int pageNumer)
{
return query.Skip(pageNumer * pageSize)
.Take(pageSize);
}
我不知道怎么打电话GetPages
?
我的代码是错误的。
IEnumerable<object> list = GetPages(query, 1000);
foreach (var result in list)
{
string filePath = result.FilePath;
string fileName = result.FileName;
// log to output
}
更新: 当我悬停查询的 var 部分时。
System.Linq.IOrderedQueryable<Something.Web.SharedObjects.MyTable>
我将 T 替换为 Something.Web.SharedObjects.MyTable。它似乎正在工作。