Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Mendapatkan ID Entiti yang Ditugaskan Pangkalan Data Selepas Sisipan dengan Rangka Kerja Entiti?

Bagaimana untuk Mendapatkan ID Entiti yang Ditugaskan Pangkalan Data Selepas Sisipan dengan Rangka Kerja Entiti?

Mary-Kate Olsen
Lepaskan: 2025-01-21 11:17:13
asal
408 orang telah melayarinya

How to Retrieve a Database-Assigned Entity ID After Insertion with Entity Framework?

Mendapatkan ID Entiti Anda Selepas Sisipan Rangka Kerja Entiti

Apabila anda memasukkan entiti baharu ke dalam pangkalan data anda menggunakan Rangka Kerja Entiti, anda selalunya memerlukan ID yang diberikan pangkalan data untuk operasi seterusnya. Artikel ini menerangkan cara mendapatkan ID ini dengan cekap.

Walaupun Rangka Kerja Entiti menyediakan sifat ID, ini pada mulanya memegang pengecam sementara, bukan ID pangkalan data sebenar. Untuk mendapatkan ID yang dijana pangkalan data, kaedah yang sedikit berbeza diperlukan.

Penyelesaian

Rangka Kerja Entiti dengan elegan mengendalikan pengambilan ID untuk kunci yang dijana secara automatik (seperti IDENTITI dalam SQL Server). Cuma tambah entiti anda pada ObjectSet yang berkaitan dan panggil SaveChanges pada ObjectContext. Sifat ID entiti anda kemudiannya akan dikemas kini dengan nilai yang diberikan pangkalan data.

using (var context = new MyContext())
{
  context.MyEntities.Add(myNewObject);
  context.SaveChanges();

  int id = myNewObject.Id; // id now contains the database-generated ID
}
Salin selepas log masuk

Secara dalaman, Rangka Kerja Entiti menggunakan SCOPE_IDENTITY() (atau fungsi serupa bergantung pada pangkalan data anda) untuk mengambil ID entiti yang baru dimasukkan apabila kunci yang dijana secara automatik sedang digunakan. Ini memastikan anda mendapat ID yang betul tanpa pengekodan tambahan.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan ID Entiti yang Ditugaskan Pangkalan Data Selepas Sisipan dengan Rangka Kerja Entiti?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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