gpt4 book ai didi

c# - 在模型上使用 DateTime.UtcNow 总是在实体中创建迁移

转载 作者:行者123 更新时间:2023-12-03 23:48:46 31 4
gpt4 key购买 nike

我有一些具有 CreatedDate 和/或 UpdatedDate 属性的模型,在我的播种中,我将它们设置为 DateTime.UtcNow。

new TestModel()
{
Id = 1,
Name = name,
CreatedDateUtc = DateTime.UtcNow,
CreatedBy = "Seed",
UpdatedDateUtc = DateTime.UtcNow,
UpdatedBy = "Seed",
DeletedDateUtc = null,
DeletedBy = null,
},

现在,即使种子数据在数据库中,EF 认为它需要用新日期更新它们。这是预期的行为吗?我是否坚持为这些列指定日期?像这样的东西:
DateTime(2020, 01, 01, 12, 00, 00, DateTimeKind.Utc)

最佳答案

使用 HasData 播种,EF 将每次都将日期解析为新的日期。

如果我是你,我会通过固定日期使用可预测和可重复的种子。

或者如果你真的需要使用 Now,你可以试试 manual migration并事先检查您的表种子是否已经使用一些自定义逻辑运行。

关于c# - 在模型上使用 DateTime.UtcNow 总是在实体中创建迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60758533/

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