Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Mendapatkan ID Entiti Yang Baru Dimasukkan Menggunakan Rangka Kerja Entiti?

Bagaimanakah Saya Mendapatkan ID Entiti Yang Baru Dimasukkan Menggunakan Rangka Kerja Entiti?

Patricia Arquette
Patricia Arquetteasal
2025-01-21 10:57:38673semak imbas

How Do I Retrieve the ID of a Newly Inserted Entity Using Entity Framework?

Mengakses ID Entiti Yang Baru Dimasukkan dalam Rangka Kerja Entiti

Tugas yang kerap dalam Rangka Kerja Entiti melibatkan mendapatkan ID entiti sejurus selepas pemasukan pangkalan data. Rangka Kerja Entiti biasanya menggunakan penjanaan ID automatik (seperti IDENTITY dalam SQL Server).

Pendekatan Standard

Menambah entiti pada ObjectSet dan memanggil SaveChanges() secara automatik mengisi sifat ID. Begini caranya:

<code class="language-csharp">using (var context = new MyContext())
{
    context.MyEntities.Add(myNewObject);
    context.SaveChanges();

    int id = myNewObject.Id; // The Id property is now populated
}</code>

Menyesuaikan Penjanaan ID

Kadangkala, anda mungkin perlu mengawal penjanaan ID. Atribut DatabaseGeneratedOption Rangka Kerja Entiti menawarkan pelbagai strategi.

Penugasan ID Manual

Untuk ID yang diberikan secara manual, gunakan DatabaseGeneratedOption.None. Ini menghalang Rangka Kerja Entiti daripada menjana ID; anda mesti menetapkannya sebelum menambah entiti.

ID yang dikira

Jika ID dikira (bukan dari jadual), gunakan DatabaseGeneratedOption.Computed. Rangka Kerja Entiti mendapatkan semula ID selepas penyata sisipan dilaksanakan.

Ringkasan

Mendapatkan semula ID entiti yang baru dimasukkan dalam Rangka Kerja Entiti biasanya mudah. Penjanaan ID automatik ialah lalai, tetapi pilihan penyesuaian tersedia untuk senario tertentu.

Atas ialah kandungan terperinci Bagaimanakah Saya Mendapatkan ID Entiti Yang Baru Dimasukkan Menggunakan Rangka Kerja Entiti?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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