gpt4 book ai didi

c# - 有没有一种简单的方法可以使 EntityFramework 使用 SQL 默认值?

转载 作者:可可西里 更新时间:2023-11-01 08:21:34 25 4
gpt4 key购买 nike

例如,我的大多数实体都有 DateCreated 和 DateModified 字段。在 SQL Server 中,它们的默认设置为 GetUtcDate()。

如果我尝试创建一个实体但不设置这些值,我会收到一个异常,提示它无法运行 SQL 插入,因为日期值超出范围。这是有道理的,因为 C# 默认日期是 1/1/0001,而 SQL Server 的最小日期是 1/1/1753。

那么有没有一种方法可以告诉 EF 使用 SQL Server 默认值,或者不要尝试插入尚未设置的列?

最佳答案

您必须将这些属性的 StoreGeneratedPattern 设置为 Identity(对于 DateCreated)和 Computed(对于 DataModified。它在设计器中可用。一旦你这样做了,你就不能在你的应用程序中修改这些值——只有数据库可以设置这些属性。我写了这个 some article因为此功能在 VS2010 SP1 之前有错误,但有报告说它有时仍然无法使用。

关于c# - 有没有一种简单的方法可以使 EntityFramework 使用 SQL 默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5965386/

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