Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Memasukkan Kunci Secara Manual ke dalam Jadual Rangka Kerja Entiti?
Menentukan Kunci Utama Secara Manual dengan Rangka Kerja Entiti
Rangka Kerja Entiti biasanya menjana kunci utama secara automatik, tetapi situasi mungkin timbul di mana anda perlu menetapkan nilai kunci secara manual. Ini selalunya membawa kepada konflik jika kenaikan automatik didayakan. Begini cara mengurusnya:
Untuk menghalang Rangka Kerja Entiti daripada menjana kunci utama secara automatik, anda boleh menggunakan sama ada Fluent API atau anotasi data:
Kaedah 1: API Fasih
Pendekatan ini mengubah suai pembina model:
<code class="language-csharp">modelBuilder.Entity<Event>().Property(e => e.EventID).HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);</code>
Jika anda menghadapi ralat "Tidak boleh memasukkan nilai eksplisit untuk lajur identiti dalam jadual 'Acara' apabila IDENTITY_INSERT ditetapkan kepada MATI", anda perlu melaraskan tetapan pangkalan data:
Kaedah 2: Anotasi Data
Sebagai alternatif, anda boleh menggunakan atribut terus dalam kelas entiti anda:
<code class="language-csharp">[Key] [DatabaseGenerated(DatabaseGeneratedOption.None)] public int EventID { get; set; }</code>
Kedua-dua kaedah mencapai hasil yang sama: melumpuhkan kenaikan automatik untuk lajur EventID
, membolehkan anda menentukan nilai utama secara langsung apabila memasukkan data ke dalam jadual Events
anda. Ingat untuk memilih satu kaedah dan gunakannya secara konsisten. Menggunakan kedua-duanya secara serentak berkemungkinan akan menyebabkan konflik.
Atas ialah kandungan terperinci Bagaimana untuk Memasukkan Kunci Secara Manual ke dalam Jadual Rangka Kerja Entiti?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!