首页 > 解决方案 > 哪一列导致“将 datetime2 数据类型转换为 datetime 数据类型导致值超出范围”?

问题描述

有什么方法可以确定是哪一列导致了问题?是的,我可以手动查看我尝试插入/更新的对象并检查所有属性,但我正在寻找更强大的解决方案。例如,SQL Server现在返回截断的列。有没有等价物datetime

SqlException:将 datetime2 数据类型转换为 datetime 数据类型导致值超出范围。该语句已终止。

是的,我确定我有一个System.DateTimethis isSystem.DateTime.Minimum并且 SQL Server 中的列定义为datetime. 我知道修复

标签: sql-serverentity-framework-core

解决方案


此 SqlException 的原因是 System.DateTime.Minimum 返回的最小日期是01/01/0001SQL Server 仅支持从01/01/1753.

如果我没记错的话,您可以SqlDataTime.MinValue在 .NET 中使用它应该可以解决您的问题。


推荐阅读