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 }
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!