‘OFFSET’ 附近有语法错误。 在 FETCH 语句中选项 NEXT 的用法无效

原创 Laughing  2017-11-29 13:12  阅读 192 次 评论 0 条
OFFSET' 附近有语法错误。 在 FETCH 语句中选项 NEXT 的用法无效。

最近在使用asp.net core的时候,采用take().skip()分页的时候报如下错误:SqlException: 'OFFSET' 附近有语法错误。 在 FETCH 语句中选项 NEXT 的用法无效。
这个主要是在sql server 2008中,不支持FETCH和NEXT语句(sql server 2012才支持)。
之后在网上参考了一下其他的文章,最终解决了这个问题,记录一下,方便后来人。

普通修改方式,修改“StartUp.cs”文件

  1. string sqlConnectionString = Configuration.GetSection("SqlServer").Value;  
  2.           services.AddDbContext<SqlDbContext>(options=>options.UseSqlServer(sqlConnectionString,b => b.UseRowNumberForPaging()));  

abp修改方式

  1. public static class DbContextOptionsConfigurer  
  2. {  
  3. public static void Configure(  
  4. DbContextOptionsBuilder<SSODbContext> dbContextOptions,  
  5. string connectionString  
  6. )  
  7. {  
  8. /* This is the single point to configure DbContextOptions for testDbContext */  
  9. dbContextOptions.UseSqlServer(connectionString ,b => b.UseRowNumberForPaging());  
  10. }  
  11. }  

以上两种解决方式都可以。

本文地址:https://www.lisen.me/offset-error-fetch-in-near-next-in-sqlserver2008.html
版权声明:本文为原创文章,版权归 木子网 所有,欢迎分享本文,转载请保留出处!

发表评论


表情