GBr*_*n12 6 c# postgresql entity-framework ef-code-first
我有一个串行字段(称为 displayID),它不是 postgresql 数据库中表的键,我首先使用实体框架代码。当我通过上下文将新对象添加到数据库中时,我会保存该对象,但它会以 0 而不是下一个整数的值插入数据库。我无法让它自动增加数据库中的值。我正在使用 devArt postgres 实体框架驱动程序。有什么特别的事我必须做吗?
尝试将身份数据注释添加到您的 displayID 属性中。不知道 DevArt 的东西是否支持,但它应该可以工作。
public class Foo
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int displayID { get; set; }
[Key]
public int myKey { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
2020更新仅在IEntityTypeConfiguration中设置UseIdentityAlwaysColumn就足够了
builder.Property(x => x.displayID).UseIdentityAlwaysColumn();
Run Code Online (Sandbox Code Playgroud)