gpt4 book ai didi

c# - 不将日期属性设置为对象会导致错误

转载 作者:太空狗 更新时间:2023-10-30 01:26:43 27 4
gpt4 key购买 nike

我有一个表,它有一个 smalldatetime NOT NULL 字段,默认值为 getdate()。在表中创建新记录时,我没有通过 LINQ To SQL 语法在代码中设置 smalldatetime 字段,我只是让数据库设置默认值即当前日期。如果我没有在代码中明确设置它,它会抛出以下错误:

SqlDateTime overflow. Must be between 1/1/1753 12:00:00 AM and 12/31/9999 11:59:59 PM.

如果我在数据库中设置默认值,为什么我必须在代码中设置它?当涉及到 LINQ To SQL 时,我注意到带有日期的时髦东西。

最佳答案

而不是将字段设置为 IsDbGenerated ,您可能需要考虑设置其 AutoSyncOnInsert . IsDbGenerated 永远不会让您设置该字段的值(这可能是您想要的“创建日期”字段,但不是“上次修改”字段)。

但是,如果您使用的是 ORM,我会请您考虑是否要在数据库和应用程序代码中都包含您的应用程序逻辑。在代码中实现默认值(通过 partial methods,如 Insert[Entity])是否更有意义?

关于c# - 不将日期属性设置为对象会导致错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4305732/

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