簡體   English   中英

Entity Framework Core:無法為表中的標識列插入顯式值

[英]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 } 

有關 Identity_insert 的更多詳細信息

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM