Entity Framework Core migration yapısı, oluşturulan entity'lerin veritabanına karşılık gelen tablolara dönüştürülmesini sağlar. Bu sayede veritabanı oluşturma sürecini otomatikleştirir ve manuel veritabanı oluşturma ihtiyacını ortadan kaldırır.
Gerekli Kütüphaneler
Entity Framework Core kullanarak migration işlemlerini gerçekleştirmek için aşağıdaki kütüphaneleri projeye eklemeniz gerekmektedir:
- Microsoft.EntityFrameworkCore
- Microsoft.EntityFrameworkCore.Tools
- Microsoft.EntityFrameworkCore.Design
Veritabanı Seçimi
Çalışacağınız veritabanına uygun olan ekstra kütüphaneyi de projeye eklemelisiniz. Örneğin, PostgreSQL ile çalışıyorsanız Npgsql.EntityFrameworkCore.PostgreSQL
kütüphanesini eklemeniz gerekir.
Katmanlı Mimari Kullanımı
Eğer projenizde katmanlı mimari kullanıyorsanız, "Microsoft.EntityFrameworkCore.Design" kütüphanesini arayüz katmanına, diğer kütüphaneleri ise veri erişim katmanına(DataAccess) eklemelisiniz.
Migration İşlemleri
Package Manager Console veya CLI ekranında aşağıdaki komutu kullanarak migration ekleyebilirsiniz:
Package Manager Console:
add-migration migrationName
CLI
dotnet ef migrations add migrationName
Not : migrationName
kısmına istediğiniz bir ismi verebilirsiniz. Örneğin, Mig_1
, Mig_2
gibi isimler kullanabilirsiniz.
Veritabanını Güncelleme
Migration oluşturduktan sonra veritabanını oluşturmak veya güncellemek için şu komutu kullanabilirsiniz:
Package Manager Console:
update-database
CLI
dotnet ef database update
Bu komutu çalıştırdığınızda veritabanı ve tablolar oluşturulur ve __EFMigrationsHistory
adında bir tablo eklenir. Bu tablo, yapılan migration'ları takip eder.
Migration Kaldırma
Bir migration'ı kaldırmak için aşağıdaki komutu kullanabilirsiniz:
Package Manager Console
remove-migration
CLI
dotnet ef migrations remove
Son Değişikliği Geri Alma
Son yaptığınız değişikliği geri almak istiyorsanız, aşağıdaki komutu kullanabilirsiniz:
Package Manager Console
update-database migrationName
CLI
dotnet ef database update migrationName
Entity Framework Core migration yapısı, veri tabanı yönetimini kolaylaştırır ve geliştiricilere büyük esneklik sağlar. Yukarıda belirtilen adımları takip ederek proje içerisinde kolayca migration işlemlerini gerçekleştirebilirsiniz.
Yorum Yap