Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Menetapkan Nilai Utama Utama secara Manual dalam Rangka Kerja Entiti?

Bagaimana untuk Menetapkan Nilai Utama Utama secara Manual dalam Rangka Kerja Entiti?

Patricia Arquette
Lepaskan: 2025-01-14 06:59:45
asal
500 orang telah melayarinya

How to Manually Set Primary Key Values in Entity Framework?

Rangka Kerja Entiti: Pengurusan Kunci Utama Manual

Rangka Kerja Entiti (EF) biasanya menjana nilai kunci primer secara automatik. Walau bagaimanapun, situasi timbul di mana menentukan kunci utama secara manual diperlukan. Panduan ini memperincikan cara untuk mencapainya.

Melumpuhkan Penjanaan Kunci Automatik

Untuk mendayakan kemasukan kunci utama manual, ubah suai kaedah OnModelCreating seperti berikut:

<code class="language-csharp">modelBuilder.Entity<Event>().Property(e => e.EventID).HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);</code>
Salin selepas log masuk

Mengatasi Konflik Lajur Identiti

Ralat "Lajur identiti tidak boleh memasukkan nilai eksplisit" timbul apabila sifat IDENTITY_INSERT jadual ditetapkan kepada OFF. Untuk membetulkannya, tetapkan sementara IDENTITY_INSERT kepada ON sebelum memasukkan data.

Konfigurasi Berasaskan Atribut

Sebagai alternatif, gunakan atribut untuk menentukan sifat utama secara langsung dalam kelas anda:

<code class="language-csharp">[Key]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public int EventID { get; set; }</code>
Salin selepas log masuk

Kaedah ini mengelakkan pengubahsuaian OnModelCreating dan serasi dengan Teras EF.

Contoh Kelas POCO yang dikemas kini

Kelas POCO berikut menunjukkan pendekatan berasaskan atribut:

<code class="language-csharp">public class Event
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.None)]
    public int EventID { get; set; }

    public string EventType { get; set; } 
    public DateTime StartDate { get; set; }
    public DateTime EndDate { get; set; }

    public virtual ICollection<Match> Matches { get; set; }
    public virtual ICollection<EventParticipation> EventParticipation { get; set; }
}</code>
Salin selepas log masuk

Pendekatan ini menawarkan penyelesaian yang lebih bersih dan boleh diselenggara untuk mengurus kunci utama yang ditetapkan secara manual dalam model EF anda.

Atas ialah kandungan terperinci Bagaimana untuk Menetapkan Nilai Utama Utama secara Manual dalam Rangka Kerja Entiti?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan