gpt4 book ai didi

asp.net-mvc - 使用 Entity Framework 7 和 SQL Server 2008 进行分页

转载 作者:行者123 更新时间:2023-12-03 11:45:37 24 4
gpt4 key购买 nike

我正在尝试使用分页(即 Entity Framework 7 中的 .Skip(...).Take(...)。它适用于 Microsoft SQL Server 2012 和 2014,但在 SQL Server 2008 上失败并出现以下错误:

System.Data.SqlClient.SqlException (0x80131904): Incorrect syntax near 'OFFSET'. Invalid usage of the option NEXT in the FETCH statement.



我发现这是 EF 版本 6.1.2 ( http://erikej.blogspot.com/2014/12/a-breaking-change-in-entity-framework.html ) 中的重大更改。但修复方法是将 EDMX 文件设置 ProviderManifestToken 属性修改为“2008”。

问题是 EF7 目前仅支持代码优先方案,因此没有任何 EDMX。问题是:如何使用 Entity Framework 7 配置 ASP.NET 5 网站以对 2012 年以前的 SQL Server 使用回退分页方法?

最佳答案

我自己在使用 EF 7 和 sql server 2008 时遇到了这个问题。幸运的是,在 EF 7 的最新 rc1 版本中,您可以使用 .UseRowNumberForPaging() 解决这个问题,如下例所示:

services.AddEntityFramework()
.AddSqlServer()
.AddDbContext<YourDbContext>(options =>
options.UseSqlServer(configuration["Data:DefaultConnection:ConnectionString"])
// this is needed unless you are on mssql 2012 or higher
.UseRowNumberForPaging()
);

关于asp.net-mvc - 使用 Entity Framework 7 和 SQL Server 2008 进行分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29995502/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com