.net6中数据库查询报错:'OFFSET' 附近有语法错误。 在 FETCH 语句中选项 NEXT 的用法无效。

发布时间 2023-05-23 10:31:02作者: 混子一

错误语句:

在数据库查询中使用skip()

问题原因:

数据库版本为SQL Server 2008,不支持'Fetch'和'Next'语句

SQL Server 2012及后续版本才支持相关语句

解决方法:

1. 引用包: System.Data.SqlClient和EntityFrameworkCore.UseRowNumberForPaging

2.使用:在Program.cs中调整数据库连接

builder.Services.AddDbContextFactory<EASystemDbContext> (options =>
{
    string DbConnectionString = builder.Configuration.GetConnectionString("DbConnectionString");
    options.UseSqlServer(DbConnectionString, i => i.UseRowNumberForPaging())
    .EnableDetailedErrors();
});