gpt4 book ai didi

c# - Entity Framework 将自动日期时间列设置为 : 01/01/0001 00:00:00

转载 作者:太空宇宙 更新时间:2023-11-03 11:41:18 25 4
gpt4 key购买 nike

我有一个 MS SQL Srver 2005 数据库,它有一个包含 DatTime 列的表。 DateTime 列是 smalldatetime 类型。日期和时间由数据库使用 getdate() 函数自动生成。这是因为它是一个LOG记录表,所以只是插入日志,而date-time是由db生成的。

当通过 Entity Framework 创建日志并保存到数据库时,使用 LINQ 查询,保存时会导致错误:

“SqlDateTime 溢出。必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM 之间。”

在调查使用断点时我注意到,当 Entity Framework 尝试保存 Log 对象时,Entity Framework 设置的日期设置为:

01/01/0001 00:00:00

我想这就是出现错误的原因。有什么办法可以解决吗?

我正在使用 .Net 3.5 框架。

问候。

最佳答案

在 EDMX 中,将日期属性的 StoreGeneratedPattern 更改为 Computed。请注意,有一个 bug (不确定错误是否已修复)在设计器中更改此属性仅影响 EDMX 文件的 CSDL 部分。您还需要将其添加到 SSDL 部分。

关于c# - Entity Framework 将自动日期时间列设置为 : 01/01/0001 00:00:00,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4723984/

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