如何在.NET Core中实现分页查询SQL Server数据库?
时间: 2024-12-11 12:19:34 浏览: 8
.net core2.1中文手册
在.NET Core中,使用Entity Framework Core(EF Core)进行分页查询SQL Server数据库可以借助`IQueryable<T>`接口和LINQ查询语法。这里是一个基本的示例:
```csharp
using System;
using System.Linq;
using Microsoft.EntityFrameworkCore;
public async Task<List<MyModel>> GetPaginatedData(int pageNumber, int pageSize)
{
using (var context = new MyDbContext())
{
// 使用OFFSET和FETCH NEXT实现分页
var offset = (pageNumber - 1) * pageSize;
var query = context.MyTables.OrderBy(x => x.Id).Skip(offset).Take(pageSize);
return await query.ToListAsync(); // 返回当前页的数据
}
}
// 调用函数并传递页码和每页大小
var_paginated_data = GetPaginatedData(pageNumber, pageSize);
```
在这个例子中,我们假设有一个名为`MyTables`的表,并且有一个对应的实体类`MyModel`。`GetPaginatedData`方法接受页码和每页大小作为参数,通过`OrderBy`、`Skip`和`Take`方法实现分页查询。
阅读全文