gpt4 book ai didi

sql-server-2008 - Entity Framework 中的 datetime2 和 ProviderManifestToken

转载 作者:行者123 更新时间:2023-12-04 07:03:29 28 4
gpt4 key购买 nike

我有一个使用 Entity Framework 和 SQL Server 2008 数据库的 MVC 应用程序。我使用 EF 向导来生成我的数据模型。

我有一个标准的 SQL Server 表 DateTime柱子。 EF 模型正在使用 System.DateTime .

但是,当我尝试从我的应用程序向该表中插入一条新记录时,没有为此 DateTime 列指定值,我收到错误消息:

The conversion of a datetime2 data type to a datetime data type resulted in an out-of-range value.



我用谷歌搜索了一下,发现人们正在编辑 edmx 并更改 ProviderManifestToken .显然这将被覆盖,那么是否有更永久的修复方法或方法来解决这个问题?

最佳答案

问题是,正如您所说,您没有为实体上的 DateTime 属性设置任何值,这导致它默认为“0001-01-01”,这绝对超出了 的范围。 datetime SQL Server 上的列。 datetime 类型的日期范围是 1753 年 1 月 1 日到 9999 年 12 月 31 日。

要解决这个问题,您必须在将该属性发送到 SQL Server 之前为其分配一个范围内的值,或者将您的 DB 列类型更改为 datetime2其日期范围为 0001-01-01 到 9999-12-31。

关于sql-server-2008 - Entity Framework 中的 datetime2 和 ProviderManifestToken,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4060207/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com