.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();