文章内容
2017/6/4 15:50:15,作 者: 黄兵
'OFFSET' 附近有语法错误。 在 FETCH 语句中选项 NEXT 的用法无效。
最近在使用asp.net core的时候,采用take().skip()分页的时候报如下错误:
SqlException: 'OFFSET' 附近有语法错误。 在 FETCH 语句中选项 NEXT 的用法无效。
这个主要是在sql server 2008中,不支持FETCH和NEXT语句(sql server 2012才支持)。
之后在网上参考了一下其他的文章,最终解决了这个问题,记录一下,方便后来人。
解决方法:
修改“StartUp.cs”文件,具体代码截图如下:
// 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>();}
无视上面的数据库链接代码,肯定不是真的呐^*^。
参考网址:
1、'OFFSET' 附近有语法错误。\r\n在 FETCH 语句中选项 NEXT 的用法无效。\r\n关键字 'AS' 附近有语法错误。
评论列表