EF Core - 内存数据库 - HasDefaultValue 被忽略

EF Core - In Memory Database - HasDefaultValue is being ignored

我 运行 遇到了一个问题,我尝试为几列添加默认值。但是在我的集成测试中,即使我的模型是按以下方式设置的:

modelBuilder.Entity<User>().Property(x => x.Idx).HasDefaultValue(Guid.NewGuid());

默认值被忽略,我总是得到一个空的 GUID。

有什么办法可以优雅地解决内存数据库的默认值吗?

使用 .HasValueGenerator<T>() 对我有用。

在我的例子中是:

modelBuilder.Entity<User>().Property(x => x.Idx).HasValueGenerator<GuidValueGenerator>();