我首先在我的 asp.net mvc 应用程序中使用 EF 代码。这是我的代码:
Request.RequestDate = DateTime.Now;
RequestDate 的类型是我数据库中的日期时间。这是我使用上述代码时发生的错误!:
将 datetime2 数据类型转换为 datetime 数据类型导致值超出范围。
请帮我。谢谢。
我首先在我的 asp.net mvc 应用程序中使用 EF 代码。这是我的代码:
Request.RequestDate = DateTime.Now;
RequestDate 的类型是我数据库中的日期时间。这是我使用上述代码时发生的错误!:
将 datetime2 数据类型转换为 datetime 数据类型导致值超出范围。
请帮我。谢谢。
编辑:
如何使用 DbContext 和 SetInitializer 修复 datetime2 超出范围的转换错误?
问题是您正在尝试保存一个不适合 SQL 日期时间列的值。这里给出的答案将阻止转换失败。
或在您的数据库中将列更改为 datetime2 类型。我不完全知道为什么他们首先编写代码是生成 datetime 列而不是 datetime2
这是一个在 SQL 中将 Datetime 列显式映射到 datetime2 的示例
在我这边,这是因为日期时间不可为空,并且在某些情况下,该字段未在构造函数中初始化。我通过将我的字段设置为可为空来解决这个问题
public DateTime? MyDate { get; set; }
另一种解决方案是无论如何初始化构造函数中的字段。