.net的Entity Framework构建网站数据层,给一个实体的DATETIME类型的属性赋值时 突然莫名奇妙显示有
一个类型不匹配的异常如下:
System.Data.SqlClient.SqlException: 从 datetime2 数据类型到 datetime 数据类型的转换产生一个超出范围的值。
解决方法:
将*.Designer.cs文件中自动生成的代码
[EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)][DataMemberAttribute()]public global::System.DateTime addtime{get{return _addtime;}set{OnaddtimeChanging(value);ReportPropertyChanging("addtime");_addtime = StructuralObject.SetValidValue(value);ReportPropertyChanged("addtime");OnaddtimeChanged();}}private global::System.DateTime _addtime;partial void OnaddtimeChanging(global::System.DateTime value);partial void OnaddtimeChanged();
更改为如下
[EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)][DataMemberAttribute()]public Nullable<global::System.DateTime> addtime{get{return _addtime;}set{OnaddtimeChanging(value);ReportPropertyChanging("addtime");_addtime = StructuralObject.SetValidValue(value);ReportPropertyChanged("addtime");OnaddtimeChanged();}}private Nullable<global::System.DateTime> _addtime;partial void OnaddtimeChanging(Nullable<global::System.DateTime> value);partial void OnaddtimeChanged();