Rangka Kerja Entiti 4: Perbezaan dan aplikasi kaedah AddObject dan Attach
Dalam Rangka Kerja Entiti (EF), pengurusan entiti melibatkan dua kaedah: AddObject
dan Attach
. AddObject
digunakan untuk memasukkan entiti baharu ke dalam sistem, manakala Attach
digunakan untuk mengendalikan entiti yang telah wujud dalam pangkalan data.
AddObject: digunakan untuk mencipta entiti baharu
Seperti tajuknya, AddObject
digunakan untuk mencipta entiti baharu. Kaedah ini memperuntukkan EntityKey yang dijana dan menetapkan EntityState kepada Ditambah. Apabila SaveChanges
dipanggil, EF memahami bahawa entiti ini perlu dimasukkan ke dalam pangkalan data.
Lampirkan: digunakan untuk mengubah suai entiti sedia ada
Sebaliknya, Attach
digunakan untuk mengubah suai entiti yang telah wujud dalam pangkalan data. EntityState tidak ditetapkan kepada Ditambah apabila menggunakan Attach
. Ia kekal dalam keadaan Tidak Berubah, menunjukkan bahawa tiada pengubahsuaian telah berlaku sejak entiti itu dilampirkan pada konteks. Ini membolehkan EF menggunakan nilai EntityKey apabila memanggil SaveChanges
untuk mengenal pasti entiti dan mengemas kini atau memadamkannya mengikut keperluan.
Senario aplikasi kaedah Lampirkan
Senario yang berguna untuk kaedahAttach
adalah untuk mengemas kini entiti sedia ada tanpa mengambilnya secara eksplisit daripada pangkalan data. Contohnya, jika anda mempunyai objek Orang existingPerson
yang sudah wujud dalam konteks, anda boleh mengemas kini sifatnya dan melampirkannya pada konteks:
<code>var ctx = new MyEntities(); var existingPerson = ctx.Persons.SingleOrDefault(p => p.Name == "Joe Bloggs"); existingPerson.Name = "Joe Briggs"; ctx.Persons.Attach(existingPerson); ctx.SaveChanges();</code>
Dengan menggunakan Attach
anda mengelak daripada melaksanakan pertanyaan tambahan untuk mendapatkan semula keadaan semasa entiti.
Ringkasan
Memahami perbezaan antara AddObject
dan Attach
adalah penting untuk menggunakan Rangka Kerja Entiti dengan berkesan. AddObject
digunakan untuk entiti yang baru dibuat, manakala Attach
digunakan untuk entiti sedia ada, membolehkan anda mengubah suai entiti tersebut dengan berkesan dan cekap.
Atas ialah kandungan terperinci Rangka Kerja Entiti 4: AddObject vs. Attach: Bila Untuk Menggunakan Setiap Kaedah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!