Entity Framework 6.1.2 offset row fetch next 错误解决办法

本文解决了Entity Framework 6.1.2版本在低版本Sql Server上查询分页数据时报错的问题。通过修改Model.edmx文件中的ProviderManifestToken值,确保了EF与Sql Server 2008 R2的兼容性。

本地测试环境用的SqlServer2012,生产环境2008R2。然后在查询分页数据时生产环境悲剧的报错了。

原因是EF6.1.2以上版本在编译SQL时使用了新的语法对低版本的SqlServer不兼容。解决办法来自 stackoverflow。用文本编辑器打开本地 Model.edmx 文件,在第七行把 ProviderManifestToken="2012" 改为 ProviderManifestToken="2008" 

<?xml version="1.0" encoding="utf-8"?>
<edmx:Edmx Version="3.0" xmlns:edmx="http://schemas.microsoft.com/ado/2009/11/edmx">
  <!-- EF Runtime content -->
  <edmx:Runtime>
    <!-- SSDL content -->
    <edmx:StorageModels>
      <Schema Namespace="ICSpecModel.Store" Provider="System.Data.SqlClient" ProviderManifestToken="2012" Alias="Self" xmlns:store="http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator" xmlns:customannotation="http://schemas.microsoft.com/ado/2013/11/edm/customannotation" xmlns="http://schemas.microsoft.com/ado/2009/11/edm/ssdl">

转载于:https://www.cnblogs.com/coolyuwk/p/5546437.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值