使用實體框架手動指定主鍵
實體框架通常會自動產生主鍵,但可能會出現需要手動指派鍵值的情況。 如果啟用自動增量,這通常會導致衝突。 以下是管理方法:
要阻止 Entity Framework 自動產生主鍵,可以使用 Fluent API 或資料註解:
方法一:Fluent API
此方法修改了模型建構器:
<code class="language-csharp">modelBuilder.Entity<Event>().Property(e => e.EventID).HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);</code>
如果遇到錯誤“當 IDENTITY_INSERT 設定為 OFF 時,無法在表格 'Events' 中插入明確識別列值”,則需要調整資料庫設定:
方法二:資料標註
或者,您可以直接在實體類別中使用性別:
<code class="language-csharp">[Key] [DatabaseGenerated(DatabaseGeneratedOption.None)] public int EventID { get; set; }</code>
兩種方法實現相同的結果:停用 EventID
列的自動增量,讓您在將資料插入 Events
表時直接指定鍵值。 請記住選擇一種方法並始終如一地應用它。 同時使用兩者可能會導致衝突。
以上是如何手動將鍵輸入實體框架表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!