EF Core 1.0 和 SQLServer 2008 分页的问题

一、在EF 中分页使用Skip(offset).Take(pageSize) 实现分页

这种方式EF自动拼接分页语句。

在EF Core1.0中默认拼接的分页语句为Offset Featch Next ,更多参考:SqlServer 2012/2014新增Offset,Fetch Next分页方式

但是这要求你的数据库版本需要在SqlServer2012或以上。

如果你仍使用2008版本的话,则需要在EF 启动配置中更改分页的处理方式:

1.在数据库上下文配置中修改

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
    optionsBuilder.UseSqlServer(@"Server=.;database=test1;Trusted_Connection=True;",
        b => b.UseRowNumberForPaging());
}

2.在启动文件中配置

services.AddEntityFramework()
.AddDbContext<NFineDbContext>(options =>
{
options.UseSqlServer(
Configuration.GetConnectionString("MDatabase"),
b => b.UseRowNumberForPaging()
);

});

 

更多参考:

Asp.Net Core 发布到IIS

Asp.Net Core发布绑定域名和端口

.Net Core邮件发送之MailKit

posted @ 2017-06-08 17:05  天马3798  阅读(915)  评论(0编辑  收藏  举报