设为首页 加入收藏

TOP

从datetime2数据类型到datetime数据类型的转换产生一个超出范围的值
2015-11-21 01:52:50 来源: 作者: 【 】 浏览:0
Tags:datetime2 数据 类型 datetime 转换 产生 一个 超出 范围

在使用Entity Framework操作数据库时遇到的这个错误。
这个错误比较奇怪,在园子里看到一位兄弟写到有位大哥提出的原因是:http://www.cnblogs.com/plwang1990/articles/2025334.html
sqlServer2008中提供datetime2类型的数据(比datetime更精确),而用entity framework4会默认的把C#中的
System.DateTime类转化成sqlServer2008中的datetime2类型,而你的数据库中的元素的属性设的是datetime类型,
把datetime2转化成datetime系统会认为会丢失数据,所以会报错。(感觉这TM是设计缺陷吧!这是熟么默认设置啊!)
经过调试发现,这位大哥说的当并不完全正确。SqlServer的datetime有效范围是1753 年 1 月 1 日到 9999 年 12 月 31 日,如果超出这个范围,EF就会把datetime转换为datetime2,也就是会出现上面的错误。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇hadoop集群安装(多机,非伪集群) 下一篇OGG-01496OGG-01031

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: