Bekerja dengan entitas yang terputus
Dalam aplikasi berbasis Entity Framework, kelas konteks bertanggung jawab untuk mendeteksi perubahan yang diterapkan pada entitas yang dilacak. Memanggil metode SaveChanges akan menyimpan perubahan yang dilacak oleh konteks ke database. Saat bekerja dengan aplikasi tingkat-n, objek entitas biasanya dimodifikasi saat terputus dari konteks, dan Anda harus menentukan cara melacak perubahan dan melaporkan perubahan tersebut kembali ke konteks. Topik ini membahas berbagai opsi yang tersedia saat menggunakan Entity Framework dengan entitas yang terputus.
Kerangka kerja layanan web
Teknologi layanan web biasanya mendukung pola yang dapat digunakan untuk menyimpan perubahan pada masing-masing objek yang terputus. Misalnya, ASP.NET Web API memungkinkan Anda untuk membuat kode tindakan pengontrol yang dapat menyertakan panggilan ke EF untuk menyimpan perubahan yang dibuat terhadap objek di database. Bahkan, alat API WEB di Visual Studio memudahkan untuk merancah pengontrol API Web dari model Entity Framework 6 Anda. Untuk informasi selengkapnya, lihat menggunakan API WEB dengan Entity Framework 6.
Secara historis, ada beberapa teknologi layanan Web lain yang menawarkan integrasi dengan Entity Framework, seperti WCF Data Services dan Layanan RIA.
API EF tingkat rendah
Jika tidak ingin menggunakan solusi tingkat-n yang ada, atau jika ingin menyesuaikan apa yang terjadi di dalam tindakan pengontrol di layanan API Web, Entity Framework menyediakan API yang memungkinkan Anda menerapkan perubahan yang dibuat di tingkat yang terputus. Untuk informasi selengkapnya, lihat Menambahkan, Melampirkan, dan status entitas.
Entitas Pelacakan Mandiri
Melacak perubahan pada grafik entitas yang arbitrer saat terputus dari konteks EF adalah masalah yang sulit. Salah satu upaya untuk menyelesaikannya adalah templat pembuatan kode Entitas Pelacakan Mandiri. Templat ini menghasilkan kelas entitas yang berisi logika untuk melacak perubahan yang terjadi di tingkat yang terputus sebagai status dalam entitas itu sendiri. Serangkaian metode ekstensi juga dihasilkan untuk menerapkan perubahan tersebut ke konteks.
Templat ini dapat digunakan dengan model yang dibuat menggunakan Perancang EF, tetapi tidak dapat digunakan dengan model Code First. Untuk informasi selengkapnya, lihat Entitas Pelacakan Mandiri.
Penting
Kami tidak lagi merekomendasikan penggunaan templat entitas pelacakan mandiri. Ini hanya akan terus tersedia untuk mendukung aplikasi yang ada. Jika aplikasi Anda mengharuskan bekerja dengan grafik entitas yang terputus, pertimbangkan alternatif lain seperti Entitas yang Dapat Dilacak, yang merupakan teknologi yang mirip dengan Entitas Pelacakan Mandiri yang lebih aktif dikembangkan oleh komunitas, atau menulis kode kustom menggunakan API pelacakan perubahan tingkat rendah.