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

本地测试环境用的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">
posted @ 2016-05-31 16:51  也许你面容憔悴  阅读(290)  评论(0编辑  收藏  举报