Rumah > pembangunan bahagian belakang > C++ > AddObject vs. Attach dalam Rangka Kerja Entiti 4: Bila Untuk Menggunakan Setiap Kaedah?

AddObject vs. Attach dalam Rangka Kerja Entiti 4: Bila Untuk Menggunakan Setiap Kaedah?

Patricia Arquette
Lepaskan: 2025-01-10 13:57:41
asal
691 orang telah melayarinya

AddObject vs. Attach in Entity Framework 4: When to Use Each Method?

Pengurusan objek Rangka Kerja Entiti 4: Penjelasan terperinci tentang kaedah ObjectContext.AddObject dan Attach

Rangka Kerja Entiti 4 menyediakan dua kaedah untuk mengurus objek dalam konteks: ObjectContext.AddObject dan ObjectSet.AddObject untuk menambah objek baharu; dan ObjectContext.Attach untuk menunjukkan objek sedia ada. Walaupun nama adalah serupa, mereka memainkan peranan yang sangat berbeza dalam pengurusan kitaran hayat objek. ObjectSet.Attach

ObjectContext.AddObject dan ObjectSet.AddObject: Kelahiran objek

Gunakan

dan ObjectContext.AddObject apabila bekerja dengan entiti baharu. Kaedah ini menambah objek pada konteks yang belum wujud dalam pangkalan data. Entiti yang baru ditambah akan mendapat EntityKey sementara dan Added EntityState. Selepas memanggil ObjectSet.AddObject, rangka kerja akan mengenali objek ini sebagai entiti yang perlu dimasukkan ke dalam pangkalan data. SaveChanges

ObjectContext.Attach dan ObjectSet.Attach: sambungan ke objek sedia ada

Tidak seperti

, AddObject dan ObjectContext.Attach digunakan untuk objek yang sudah wujud dalam pangkalan data. ObjectSet.Attach Daripada menetapkan EntityState kepada Added, ia menetapkannya kepada Unchanged, menunjukkan bahawa objek itu kekal tidak berubah sejak dilampirkan pada konteks. Entiti yang ditandakan dengan Attach ditemui dalam pangkalan data dengan memadankan nilai EntityKey mereka, dan dikemas kini atau dipadamkan dengan sewajarnya apabila Attach dipanggil. SaveChanges

Contoh aplikasi praktikal kaedah Lampirkan

digunakan untuk mencipta entiti baharu, manakala AddObject berguna apabila bekerja dengan objek sedia ada. Contohnya, untuk menyambungkan entiti Orang sedia ada kepada entiti Alamat sedia ada dalam konteks: Attach

Operasi
<code class="language-csharp">var existingPerson = ctx.Persons.SingleOrDefault(p => p.Name == "Joe Bloggs");
var myAddress = ctx.Addresses.First(a => a.PersonID != existingPerson.PersonID);
existingPerson.Addresses.Attach(myAddress);
// 或:
myAddress.PersonReference.Attach(existingPerson);
ctx.SaveChanges();</code>
Salin selepas log masuk

memastikan entiti Alamat diiktiraf sebagai entiti sedia ada dan disambungkan kepada entiti Orang, membenarkan kemas kini pangkalan data yang betul atau operasi pemadaman. Attach

Atas ialah kandungan terperinci AddObject vs. Attach dalam Rangka Kerja Entiti 4: Bila Untuk Menggunakan Setiap Kaedah?. 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