从 datetime2 数据类型到 datetime 数据类型的转换产生一个超出范围的值

背景:
使用entityframe写入sqlserver字段类型为datetime,默认值为getdate()的字段时抛异常,
异常信息:从 datetime2 数据类型到 datetime 数据类型的转换产生一个超出范围的值

原因:
1、C#中的Datetime返回和sqlserver中Datetime的方位不一致,C#中的范围较广
2、未在edmx文件中设置对应表字段的属性

解决方法:
1、对于原因1,将数据库字段类型设为datetime2即可
2、对应原因2,在edmx文件中找到对应的字段,将属性StoreGeneratedPattern设置为Identity即可

posted @ 2014-06-30 17:47    阅读(14725)  评论(0编辑  收藏  举报