EF 从sqlserver2008 迁移到 2005出现的BUG

在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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/263130.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

转盘不转动的问题

2019独角兽企业重金招聘Python工程师标准>>> Stack Overflow is a question and answer site for professional and enthusiast programmers. Its 100% free, no registration required. jQuery Rotate - IE7 & IE8 Issues up vote 11 down vote favorite 3 I a…

重构机房收费系统(二)

接上篇《机房收费系统重构&#xff08;一&#xff09;》 二、概要设计 完成了用例图&#xff0c;并用结合用例图完善了一下需求分析说明书&#xff0c;忘记是第几次修订需求分析说明书。有了用例图&#xff0c;很自然就进入了概要设计阶段。我认为这一阶段就是结合包图解决系统…

《Windows核心编程》学习笔记(9)– 在win7或者vista系统下提升一个进程的运行权限...

win7或者vista默认运行程序是在受限制的环境下运行的&#xff0c;以减轻病毒对于系统的破坏。那么我们怎样才能提升一个进程的权限以至让它在 管理员模式下运行。当然CreateProcess函数没有提供这个功能。相反我们需要调用的是ShellExecuteEx函数&#xff1a; BOOL ShellExecu…

2015第29周二AOP

1、问题&#xff1a;想要添加日志记录、性能监控、安全监测 2、最初解决方案2.1、最初解决方案&#xff1a;在每个需要的类函数中重复写上面处理代。 缺点&#xff1a;太多重复代码&#xff0c;且紧耦合2.2、抽象类进行共性设计&#xff0c;子类进行个性设计&#xff0c;此处不…

Docker-compose配置Mysql,Redis,MongoDB

Docker-compose下配置Mysql&#xff0c;Redis&#xff0c;MongoDB详解一、docker-compose简介二、构建一个实例项目1.前后端实现2.Dockerfile及docker-compose.yml3. 生成镜像三、实例程序源码一、docker-compose简介 Compose是用于定义和运行多容器Docker应用程序的工具。通过…

使用WebDeployment Project改善VS2005发布网站问题

VS2005发布网站时不会像VS2003一样生成规则的DLL文件、而生成的DLL文件名含有随机数且不能一个项目生成一个DLL文件、让人有一些遗憾、为了做到像vs2003一样&#xff0c;微软发布了WebDeployment Project插件可解决此问题&#xff1a;下载地址1、下载后安装、右键选择vs2005中的…

Linux、Windows、Mac下Docker的安装与使用

Linux、Windows、Mac下Docker的安装与使用一、Linux下的安装二、Windows与Mac下的安装三、Docker的使用一、Linux下的安装 这里以Centos 7为例&#xff0c;首先&#xff0c;确保系统已经正确运行了Centos 7并已经联网。yum安装gcc环境 yum -y install gcc yum -y install gcc…

[智能架构系列]什么是Buddy智能开发框架

buddy框架&#xff0c;秉承国内优秀框架THINKPHP的优点并增加了很多的商业特性和集成了全版本的商业项目模块&#xff0c;提供给创业者一个最好的选择 组建图: 转载于:https://www.cnblogs.com/scotoma/archive/2011/10/17/2215553.html

Docker Swarm建立服务器集群

Docker Swarm建立服务器集群一、Docker Swarm简介1. 集群模式2. 管理节点--Manager二、Docker Swarm的配置及使用三、Docker Service向集群中添加服务四、Docker Stack部署集群一、Docker Swarm简介 1. 集群模式 这是Docker官网给出的一张swarm原理图&#xff0c;即swarm就是…

python常用魔法函数

1、__init__(): 所有类的超类object&#xff0c;有一个默认包含pass的__init__()实现&#xff0c;这个函数会在对象初始化的时候调用&#xff0c;我们可以选择实现&#xff0c;也可以选择不实现&#xff0c;一般建议是实现的&#xff0c;不实现对象属性就不会被初始化&#xff…

苹果MAC系统的安装

搞Iphone开发&#xff0c;没有苹果系统是不行的。由于我已经装好了苹果的雪豹系统&#xff0c;所以在此我只是简单在说一下大休怎么装&#xff01; 苹果系统&#xff0c;现下在非苹果机上的安装分两种&#xff1a;1、虚拟机安装&#xff1b;2、物理机安装。 现在先说延续一种&a…

sphinx和coreseek

sphinx是国外的一款搜索软件。 coreseek是在sphinx的基础上&#xff0c;增加了中文分词功能&#xff0c;换句话说&#xff0c;就是支持了中文。 Coreseek发布了3.2.14版本和4.1版本&#xff0c;其中的3.2.14版本是2010年发布的&#xff0c;它是基于Sphinx0.9.9搜索引擎的。而4.…

Spring security/Shiro ---登陆成功后返回登陆前界面<页面重定向>

Spring security ---登陆成功后返回登陆前界面<页面重定向>问题&#xff1a;在登陆/退出成功后&#xff0c;我们往往通过http.formLogin().successForwardUrl()和http.logout().logoutSuccessUrl()设定操作成功后的回跳页面。我们现在希望在任意界面跳转到登陆界面后&…

针对plsql developer使用做的三个小设置

来自&#xff1a;http://www.cnblogs.com/william-lee/archive/2010/12/08/1900176.html 1、原来大家在sql窗口写多条sql语句&#xff0c;如果点击“执行”&#xff0c;那么会执行窗口下的所有语句&#xff0c;如果向执行所要的语句&#xff0c;必须选定它。 那么&#xff0c;有…

今天将Notebook还原了, 第一次外加了外围电路

因为天气太热了, 我的Aspire 5502出了问题, 用Ghost还原中途死机, 找了问题原来是太热了....又在宿舍, 没有空调, 又不想去图书馆, 最后就问奶仔借了部风扇, 总算搞掂了...相机太快了....看上去风扇好像停了....不仅有风扇, 它还要裸跑才能胜利还原....温度一高就自动关机了...…

VMware开启NAT模式/仅主机模式后主机ping不通虚拟机的问题

VMware开启NAT模式/仅主机模式后主机ping不通虚拟机的问题问题&#xff1a;VMware设置网络模式为NAT模式后&#xff0c;我们使用主机ping虚拟机无法联通&#xff0c;用虚拟机ping主机可以联通。 原因&#xff1a;这是由于虚拟机的IP网段与主机的VMnet8网段不一致所造成的。 解…

OO设计原则总结

什么是设计原则&#xff1f; 设计原则是基本的工具&#xff0c;应用这些规则可以使你的代码更加灵活、更容易维护&#xff0c;更容易扩展。 基本原则封装变化Encapsulate what varies. 面向接口编程而非实现 Code to an interface rather than to an implementation.优先使用组…

kubectl get node运行时出现:Unable to connect to the server: x509: certificate signed by unknown authority

kubectl get nodes运行时出现&#xff1a;Unable to connect to the server: x509: certificate signed by unknown authority原因&#xff1a;我们在运行kubeadm reset时&#xff0c;没有删除原先的$HOME/.kube文件导致新建的kubelet报错。实际上在kubeadm reset执行后&#x…

POJ 1966 Cable TV Network (最大流最小割)

$ POJ~1966~Cable~TV~Network $ $ solution: $ 第一眼可能让人很难下手&#xff0c;但本就是冲着网络流来的&#xff0c;所以我们直接一点。这道题我们要让这个联通图断开&#xff0c;那么势必会有两个点变得不连通&#xff0c;这道题的数据范围很小&#xff0c;所以我们试着暴…

harbor安装时出现ERROR: An HTTP request took too long to complete. Retry with --verbose to obtain debug in

harbor安装时出现ERROR: An HTTP request took too long to complete. Retry with --verbose to obtain debug information.If you encounter this issue regularly because of slow network conditions, consider setting COMPOSE_HTTP_TIMEOUT to a higher value current val…