![](/img/trans.png)
[英]Entity Framework error: Cannot insert explicit value for identity column in table
[英]Entity Framework Core: Cannot insert explicit value for identity column in table
我正在使用 Entity Framework Core,并且无法为表中的标识列插入显式值
数据库上下文:
modelBuilder.Entity<TbUser>(entity =>
{
entity.Property(e => e.Jid)
.HasColumnName("JID")
.ValueGeneratedOnAdd();
}
用户:
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Jid { get; set; }
在您的 EF 模型代码中,您将Jid
列定义为[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
这告诉实体框架数据库将为该字段生成一个值。 从逻辑上讲,您不应在代码中设置该值。
如果要手动设置此字段中的值,则需要删除上面的DatabaseGenerated
装饰器。
确保IDENTITY_INSERT
已关闭。 这样,每个插入的标识都需要明确提供。
SET IDENTITY_INSERT [ [ database_name . ] schema_name . ] table_name { ON | OFF }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.