自从将应用程序升级到EF Core 2.1后,我开始在下面获得例外。我怀疑它与新的Value Conversions有关(虽然我没有手动实现ValueConverter
)。任何想法如何解决?我想维护所提到的Snapshot.Id
列的数据库驱动的自动增量值。相同的代码库在EF Core 2.0上运行良好。数据库模式都是通过EF Core代码优先构建的。
如果我能提供任何其他有用的代码,请告诉我。这可能是EF甚至我的EF提供商的错误,但我找不到任何相关问题。
例外:
NotSupportedException:属性不支持值生成 'Snapshot.Id',因为它有一个'CastingConverter'转换器 配置。配置属性不使用值生成 'ValueGenerated.Never'或'DatabaseGeneratedOption.None'并指定 而是显示值。
EF模型生成器快照:
modelBuilder.Entity("Data.Entities.Snapshot", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("MEDIUMINT UNSIGNED");
...
b.HasKey("Id");
b.ToTable("snapshots");
});
属性配置:
public virtual void Configure(EntityTypeBuilder<TEntity> entityTypeBuilder)
{
entityTypeBuilder.Property(x => x.Id)
.HasColumnType("MEDIUMINT UNSIGNED");
...
}
其他信息:
打开GitHub问题: