首页 > 其他 > 详细

'OFFSET' 附近有语法错误。 在 FETCH 语句中选项 NEXT 的用法无效。(转载)

时间:2019-01-13 00:48:50      阅读:398      评论:0      收藏:0      [点我收藏+]
最近在使用asp.net core的时候,采用take().skip()分页的时候报如下错误:
SqlException: ‘OFFSET‘ 附近有语法错误。 在 FETCH 语句中选项 NEXT 的用法无效。
这个主要是在sql server 2008中,不支持FETCH和NEXT语句(sql server 2012才支持)。
之后在网上参考了一下其他的文章,最终解决了这个问题,记录一下,方便后来人。
解决方法:
修改“StartUp.cs”文件,具体代码截图如下:
1.普通修改方式
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
// Add framework services.
services.AddMvc();
 
var connection = @"Data Source=tcp:111.111.111.111,1044;
Initial Catalog=xxx;Persist Security Info=True;User ID=xxxx;Password=xxxxx";
services.AddDbContext<NoteContext>(options => options.UseSqlServer(connection,b=>b.UseRowNumberForPaging()));
 
services.AddScoped<Repository.INoteRepository,Repository.NoteRepository>();
services.AddScoped<Repository.INoteTypeRepository, Repository.NoteTypeRepository>();
}
 
2.abp修改方式
public static class DbContextOptionsConfigurer
{
public static void Configure(
DbContextOptionsBuilder<SSODbContext> dbContextOptions,
string connectionString
)
{
/* This is the single point to configure DbContextOptions for testDbContext */
dbContextOptions.UseSqlServer(connectionString ,b => b.UseRowNumberForPaging());
}
}

'OFFSET' 附近有语法错误。 在 FETCH 语句中选项 NEXT 的用法无效。(转载)

原文:https://www.cnblogs.com/hao-1234-1234/p/10261475.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!