2

我有一个 EF Core 测试项目,我正在测试 MySql 和 Sql 服务器上下文。我有以下财产:

[Timestamp]
public DateTime CreatedOn { get; set; }

根据https://docs.microsoft.com/en-us/ef/core/modeling/concurrency

对于 SQL Server,时间戳通常用于 byte[] 属性,该属性将设置为数据库中的 ROWVERSION 列

但是,对于 MySql,我需要使用 DataTime,否则在尝试保存新记录时会出错。在 SQL Server 中,如果我使用 迁移DateTime,它不会将 Timestamp 分配为默认值。也就是说,每次我创建一个新记录时,它都会显示一个错误,指出该CreatedOn列不能为空。

我正在使用Pomelo.EntityFrameworkCore.MySqlfor MySql。我尝试多个上下文的原因是模拟开发过程中更改数据库等情况。

有没有办法设置两者都通用的时间戳?如果不是普通属性,阴影属性也可以。

4

0 回答 0