Nuansa saat bekerja dengan migrasi EF

Artikel ini tidak dimaksudkan sebagai panduan untuk bekerja dengan migrasi EF. Tidak akan ada informasi tentang cara membuatnya di sini. Di sini saya telah mengumpulkan beberapa poin licik dan upaya untuk menyiasatinya. Ayo mulai!





Mulai migrasi saat peluncuran aplikasi

Apakah Anda terbiasa dengan kode berikut?





context.Database.Migrate();
      
      



Jika demikian, kemungkinan besar Anda menggulung migrasi secara otomatis pada awal proyek. Baik atau buruk, Anda bisa berdiskusi di komentar. Saya, pada gilirannya, ingin memperingatkan hal-hal berikut ini.





cmd, PS , , 2 : . - , . - , (sln). .





? , ( ) . , , , , , , . ? , . , , , , , Remove-Migration, , , . , , Remove-Migration. , , ?





, 2 :









  1. .





, . .





-, :





  1. , .





  2. , , .





, Remove-Migration. , . Remove-Migration (csproj). , , , Git ( ) .





, ( ). csproj .





SQL

, , (, , - ) SQL . Script-Migration. . . .





EF Core 3.0 Script-DbContext .





, , , , SQL .





Nute di sini, tampaknya, sederhana. Kami pada dasarnya mengubah sesuatu, menciptakan migrasi, dan bersukacita atas hasilnya. Namun, hasilnya mungkin tidak terduga saat Anda perlu menghapus satu bidang dan membuat bidang lain dengan jenis yang sama. Dalam kasus ini, migrator akan membuat perintah untuk mengganti nama kolom di database. Semua data dari kolom yang dihapus masing-masing akan ditransfer ke yang baru. Dalam kasus ini, Anda dapat membuat 2 migrasi: untuk menghapus kolom dan membuat yang baru. Setelah itu, agar 2 migrasi tidak muncul, bukan satu, Anda dapat menggabungkan kode Naik dan Turun dan menghapus yang terakhir.





Kesimpulan

Sebagai kesimpulan, saya ingin mengatakan, perhatikan datanya, periksa migrasi baru, pikirkan tentang mereka, jangan takut untuk mengeditnya. Dan Anda masih akan menginjak penggaruk yang tidak terlihat saat bekerja dengan EF.








All Articles