使用Entity Framework 7和SQL Server 2008进行分页

康斯坦丁

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

System.Data.SqlClient.SqlException(0x80131904):“ OFFSET”附近的语法不正确。FETCH语句中选项NEXT的无效用法。

我发现这是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使用后备分页方法?

乔·奥黛特(Joe Audette)

我自己在使用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()
                );

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用ASP.NET MVC,LINQ和Entity Framework从SQL Server 2008切换到MySQL

在SQL Server 2008 R2的查询中使用带有dapper的多个like子句进行分页

同时使用SQL Server Compact和SQL Server和Entity Framework

SQL Server与Docker和Entity Framework的连接

如何使用Entity Framework 6调用SQL Server过程

拦截和操纵Entity Framework与SQL Server之间的SQL消息

使用Entity Framework 6从SQL Server保存和检索图像(二进制)

如何使用Entity Framework和Moq进行单元测试?

使用MVC 5和Entity Framework 6进行挣扎

使用Entity Framework 6对多个对象进行SQL查询

在SQL 2008上使用Sequelize.js进行分页(不支持FETCH)

如何使用Oracle和SQL Server在.NET 4.5 C#Entity Framework 6中将列映射为大写?

如何在互联网上安全地使用Entity Framework / C#和SQL Server

SQL Server 2008的EntityFramework(使用LINQ)中基于偏移/获取的分页(实现)

如何使用 Entity Framework Core 2.0 模型属性映射 SQL Server 文本列

使用Entity Framework 6.1 CodeFirst的SQL Server 2014内存优化表

使用Entity Framework 6连接到SQL Server Management Studio

在UWP应用上将Entity Framework Core与SQL Server一起使用时出错

我无法在SQL Server上将Devart与Entity Framework Core一起使用

使用 Entity Framework Core 在 SQL Server 中存储大字符串的最佳实践

如何使用Django-rest-framework和ng-admin进行分页

使用SQL Server 2008中.net Framework 4.0创建的dll创建CLR存储过程。显示错误

使用 Entity-Framework Core/RabbitMQ 和 HTTP API 在多个 SQL 数据库之间进行通信的好方法

使用Entity FrameWork 7更新记录

如何使用Entity Framework 7记录查询?

Entity Framework 7使用代码优先方法对表名进行复数

为什么在Entity Framework和SQL Server事务中得到不同的结果?

在Entity Framework和SQL Server中创建对象计数器

将SQL Server查询转换为Entity Framework查询