内在的例外是SqlException
." 将datetime2数据类型转换为日期时间数据类型会导致超出范围的值 ".如果您搜索该消息,您很快就会找到原因:
您已设置CreatedDate
并Date
在WorkLogs
合理值,以便罪魁祸首很可能是CreatedDate
和/或UpdatedDate
在实例Works
.
如果你还没有设置它们,那么它们的值将是.NET的默认值 - DateTime.MinValue
- 年0001.尝试将其插入到数据库中并且你得到溢出,因为在Sql Server中最小值是SqlDateTime.MinValue
- 1753年.
我建议你在构造函数中设置CreatedDate
to 的值,DateTime.Now
并将类型更改为UpdatedDate
可为空DateTime
(默认值为null而不是DateTime.Min
)