在VS10+Server08中使用EF4.4,发布数据库为SQL05,发生错误的问题

问题描述
环境描述:工具为VS2010+SQL08 R2,EntityFramework版本为4.4(在Framework4.5中为5.0),在本机完全测试完成后,发布到服务器上(Server 2008 R2+Sql 2005)时,会出现错误。
解决方案
在Windows资源管理器中找到实体模型文件(后缀为edmx),用记事本打开后,可看到如下内容:
在图片中框选部分,默认是2008,修改为2005.则不会将达datetime类型转换为数据库的datetime2类型,所以解决问题。
原因分析
通过查找资料得知:

ProviderManifestToken 是 Entity Data Model (EDM) 内存储架构定义语言 (SSDL) 中的 Schema 元素的必需属性。此标记用于为脱机方案加载提供程序清单。

打开存储连接时,提供程序可以获取所有需要的信息以选择要返回的正确清单。这在脱机方案中可能做不到,此时,连接信息不可用或无法连接到存储。对于这些情况,Entity Framework 在 SSDL 中存储了一个提供程序清单标记,足够提供程序用来标识清单。

该标记没有特定的架构;要由提供程序来选择在不打开到存储的连接的情况下标识清单所需的最少信息。

下面的“提供程序清单标记”示例显示了 ProviderManifestToken 属性中捕获的 SQL Server 版本信息。

    <Schema Namespace="Test.Simple.Target" Alias="Self" Provider="System.Data.SqlClient"ProviderManifestToken="2005"xmlns:edm="http://schemas.microsoft.com/ado/2006/04/edm/ssdl"xmlns="http://schemas.microsoft.com/ado/2006/04/edm/ssdl"></Schema>
注->该段内容摘自:http://msdn.microsoft.com/zh-cn/library/bb896311%28v=VS.90%29.aspx

在资料得知,在EF4.x中,默认会将C#的Datetime类型转换为数据库的datetime2类型,所以导致该错误。修改为05后,会强制EF使用datetime类型,所以在SQL 2005中可以使用。默认转换为datetime2,通过SQL  Server Profiler监视sql语句可看到。

转载于:https://www.cnblogs.com/hubinglovecode/p/5159998.html

EF 从sqlserver2008 迁移到 2005出现的BUG相关推荐

  1. [EF Core]数据迁移(二)

    摘要 在实际项目中,大多都需要对业务逻辑以及操作数据库的逻辑进行分成操作,这个时候该如何进行数据的迁移呢? 步骤 上篇文章:EF Core数据迁移操作 比如,我们将数据上下文放在了Data层. 看一下 ...

  2. EF mysql 数据迁移_EF Code First Migrations数据库迁移

    1.EF Code First创建数据库 新建控制台应用程序Portal,通过程序包管理器控制台添加EntityFramework. 在程序包管理器控制台中执行以下语句,安装EntityFramewo ...

  3. EF mysql 数据迁移_EF-CodeFirst实现过程+数据库迁移

    系列文章: EF-ModelFirst实现过程+数据库迁移     http://www.jianshu.com/p/2a53f318144d EF-DBFirst实现过程    http://www ...

  4. EF CodeFirst数据迁移与防数据库删除

    1 开启migrations功能 enable-migrations -force 2 添加迁移版本 add-migration 名称后缀 我们每次修改实体后,都应该使用这个add-migration ...

  5. EF mysql 数据迁移_Asp.Net Core EFCore Migrations 数据迁移

    通过Migration生成数据库的命令 在vs中的"程序包管理器控制台"中输入如下两个命令,也可以在项目所在文件夹中打开命令行工具进行操作 命令一共有5种,每个有两种写法: dot ...

  6. 关于Windows XP sp2下金山词霸2005取词BUG,桌面重启修正方法

    新买的电脑新装Windows XP sp2,问题不断,竟连金山词霸2005都出问题,以前用的好好的,现在发现启动金山词霸后,桌面不断地重启,重装金山词霸N次未果.一室友同一安装盘的Windows XP ...

  7. EF Core Model更新迁移

    EF Core 迁移 感觉就是以前EF Code First的自动同步数据库功能 内容:在你新增.更新TableModel后,如何自动化的更新DB中的真实Table.以及对这些更改进行一个版本控制. ...

  8. ef生成mysql字段注释_EFcore+MySql 数据迁移的时候,怎么给表结构加注释?

    前言: CodeFirst运用的场景比较少,不代表CodeFirst不好,也不能和DbFirst去作比较,本来就是两个东西. 吐槽: MySql.Data.EntityFrameworkCore 作为 ...

  9. EF CodeFirst下的自动迁移

    当我们修改数据模型,添加一个如下字段 再次运行程序,会因为数据库结构与模型不一致而报错 为解决以上错误可以采取以下三种方式 1.  删除数据库,重新运行站点,会重新生成数据库,这样就会丢失数据 2.  ...

最新文章

  1. sql的不等于条件优化_SQL优化案例(2):OR条件优化
  2. 基于黄金分割的修正Powell算法
  3. nx set 怎么实现的原子性_【redis进阶(1)】redis的Lua脚本控制(原子性)
  4. 手环升级鸿蒙设备名单,鸿蒙2.0升级名单已确认-可首批升级的42款机型推荐
  5. EditPlus软件自动补全文档htmlbar.acp设置 及 模板文件格式
  6. 图片md5修改工具_如何修改视频和图片的MD5,用电脑自带的命令
  7. 【AI视野·今日NLP 自然语言处理论文速览 第二十六期】Wed, 3 Nov 2021
  8. arcface和cosface
  9. IDEA 搭建Java WEB 开发环境
  10. Form Builder的三种查询方法构建
  11. JS中创建对象的方法
  12. mysql 授权 navicat的登录数据库
  13. 安装centos7 Minimal后 开启远程SSH
  14. Spring框架浅谈及Spring框架学习小结
  15. 计算机接口学平时作业,西电《计算机接口与通信技术》平时作业[教学作业]
  16. Unity资源加载之Assetbundle(一)
  17. 「TCG 规范解读」初识嵌入式和工业工作组
  18. [湖南大学程序设计实训训练作业一]9.二叉树遍历,从前序、中序到后序(二叉树呀,面试必考哦!)
  19. 我的毕业四年总结及对未来的期许!
  20. 数据挖掘——航空公司客户价值分析(分析+建模)

热门文章

  1. [原创]Toolbar setNavigationIcon无效
  2. Dubbo原理解析-监控
  3. 深搜——数字划分问题
  4. C#中往数据库插入/更新时候关于NUll空值的处理
  5. java调用oracle 存储过程 以及游标使用
  6. Spring 源码分析之AbstractApplicationContext源码分析
  7. node --- 使用nrm改变npm的源
  8. 大数据和人工智能的关系是什么?
  9. 【转】C++标准转换运算符static_cast
  10. cordova-plugin-app-version插件使用