我搜索了这个问题,有很多问题,但是所有答案都没有用,这并不能解决我的问题。首先,我无法对数据库进行任何更改,我必须保留数据库的列定义,以便如何解决此问题?
数据库定义:
[DeletedDate] [datetime] NULL,
C#代码表示:
public DateTime? DeletedDate { get; set; }
我遇到一个错误:
从datetime2数据类型到datetime数据类型的转换导致值超出范围。 该语句已终止。 在System.Data.SqlClient.SqlConnection.OnError(SqlException异常,布尔值breakConnection,Action`1 wrapCloseInAction)处。...
我已经尝试过了,但是对我没有用
[Column(TypeName = "datetime2")]
public DateTime? PropertyName { get; set; }
编辑:问题是关于我试图将0001/01/01 ...发送到datetime值到sql。并造成了问题。
FLUENT API解决了我的问题。
entity.Property(e => e.CreatedDate).HasColumnName("CreatedDate").HasDefaultValueSql("(getdate())");
entity.Property(e => e.UpdatedDate).HasColumnName("UpdatedDate").HasDefaultValueSql("(getdate())");
答案 0 :(得分:0)
在保存或更新数据库try之前,您的属性DeletedDate
包含的值小于SqlDateTime.MinValue.Value
支持的值
if(DeletedDate < SqlDateTime.MinValue.Value)
DeletedDate = SqlDateTime.MinValue.Value