![](/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.