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() ); });
更多参考: