Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Mendapatkan ID Dijana Pangkalan Data Selepas Memasukkan Entiti dengan Rangka Kerja Entiti?

Bagaimana untuk Mendapatkan ID Dijana Pangkalan Data Selepas Memasukkan Entiti dengan Rangka Kerja Entiti?

Patricia Arquette
Lepaskan: 2025-01-21 11:07:10
asal
340 orang telah melayarinya

How to Retrieve the Database-Generated ID After Inserting an Entity with Entity Framework?

Gunakan Rangka Kerja Entiti untuk mendapatkan identiti entiti yang dimasukkan

Rangka Kerja Entiti menyediakan cara yang mudah untuk memasukkan entiti ke dalam pangkalan data. Walau bagaimanapun, mendapatkan ID yang diberikan pangkalan data bagi entiti yang dimasukkan boleh menjadi satu cabaran. Artikel ini menangani isu ini dengan meneroka dua pendekatan.

Kaedah 1: Gunakan ID entiti yang diperuntukkan

Artikel ini bermula dengan penyelesaian di tapak web Rangka Kerja Entiti yang melibatkan mendapatkan ID yang diperuntukkan daripada objek entiti itu sendiri. Walaupun kaedah ini mengembalikan ID dalaman entiti, kaedah ini mungkin tidak konsisten dengan ID jadual pangkalan data jika rekod dipadamkan.

Kaedah 2: Dapatkan pengecam pangkalan data

Kaedah yang lebih dipercayai ialah mendapatkan semula ID yang dijana pangkalan data. Ini boleh dicapai dengan hanya menambah entiti pada ObjectSet dan memanggil SaveChanges pada ObjectContext yang berkaitan. Rangka Kerja Entiti secara automatik menetapkan sifat Id entiti dengan identiti yang diberikan pangkalan data:

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

  int id = myNewObject.Id; // 数据库标识可用
}</code>
Salin selepas log masuk

Rangka Kerja Entiti melaksanakan pertanyaan SELECT SCOPE_IDENTITY() selepas setiap INSERT untuk mendapatkan ID yang dijana, memastikan pengambilan ID yang tepat.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan ID Dijana Pangkalan Data Selepas Memasukkan Entiti dengan 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