3 alasan untuk menggunakan desain kode pertama dengan Kerangka Entity
1) Kurang kasar, kurang kembung
Menggunakan database yang ada untuk menghasilkan file model .edmx dan model kode yang terkait menghasilkan tumpukan besar kode yang dibuat secara otomatis. Anda diminta untuk tidak menyentuh file-file yang dihasilkan ini agar Anda tidak merusak sesuatu, atau perubahan Anda akan ditimpa pada generasi berikutnya. Konteks dan penginisialisasi macet bersama dalam kekacauan ini juga. Saat Anda perlu menambahkan fungsionalitas ke model yang dibuat, seperti properti hanya-baca yang dihitung, Anda perlu memperluas kelas model. Ini akhirnya menjadi persyaratan untuk hampir setiap model dan Anda berakhir dengan ekstensi untuk semuanya.
Dengan kode terlebih dahulu model kode tangan Anda menjadi basis data Anda. File persis yang Anda buat adalah yang menghasilkan desain database. Tidak ada file tambahan dan tidak perlu membuat ekstensi kelas ketika Anda ingin menambahkan properti atau apa pun yang tidak perlu diketahui oleh database. Anda bisa menambahkannya ke kelas yang sama selama Anda mengikuti sintaks yang tepat. Heck, Anda bahkan dapat membuat file Model.edmx untuk memvisualisasikan kode Anda jika Anda mau.
2) Kontrol Yang Lebih Besar
Ketika Anda menggunakan DB terlebih dahulu, Anda berada di bawah kekuasaan apa yang dihasilkan untuk model Anda untuk digunakan dalam aplikasi Anda. Kadang-kadang konvensi penamaan tidak diinginkan. Terkadang hubungan dan asosiasi tidak seperti yang Anda inginkan. Di waktu lain, hubungan tidak transien dengan pemuatan malas mendatangkan malapetaka pada respons API Anda.
Meskipun hampir selalu ada solusi untuk masalah pembuatan model yang mungkin Anda temui, kode yang pertama kali memberi Anda kendali penuh dan halus dari awal. Anda dapat mengontrol setiap aspek dari kedua model kode Anda dan desain basis data Anda dari kenyamanan objek bisnis Anda. Anda dapat secara tepat menentukan hubungan, batasan, dan asosiasi. Anda dapat secara bersamaan menetapkan batas karakter properti dan ukuran kolom basis data. Anda dapat menentukan koleksi terkait mana yang ingin dimuat, atau tidak serialisasi sama sekali. Singkatnya, Anda bertanggung jawab untuk lebih banyak barang tetapi Anda memegang kendali penuh atas desain aplikasi Anda.
3) Kontrol Versi Basis Data
Ini yang besar. Database versi sulit, tetapi dengan kode pertama dan migrasi kode pertama, itu jauh lebih efektif. Karena skema basis data Anda sepenuhnya didasarkan pada model kode Anda, dengan versi mengendalikan kode sumber Anda, Anda membantu membuat versi database Anda. Anda bertanggung jawab untuk mengendalikan inisialisasi konteks Anda yang dapat membantu Anda melakukan hal-hal seperti seed data bisnis tetap. Anda juga bertanggung jawab untuk membuat migrasi kode pertama.
Saat Anda pertama kali mengaktifkan migrasi, kelas konfigurasi dan migrasi awal dihasilkan. Migrasi awal adalah skema Anda saat ini atau baseline v1.0 Anda. Mulai saat itu Anda akan menambahkan migrasi yang diberi cap waktu dan label dengan deskriptor untuk membantu memesan versi. Saat Anda memanggil migrasi tambahan dari manajer paket, file migrasi baru akan dibuat berisi semua yang telah berubah dalam model kode Anda secara otomatis baik dalam fungsi ATAS () maupun BAWAH (). Fungsi UP menerapkan perubahan pada database, fungsi DOWN menghapus perubahan yang sama jika Anda ingin mengembalikan. Terlebih lagi, Anda dapat mengedit file migrasi ini untuk menambahkan perubahan tambahan seperti tampilan baru, indeks, prosedur tersimpan, dan apa pun lainnya. Mereka akan menjadi sistem versi yang benar untuk skema basis data Anda.