我有一些具有 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/