Entity Framework (EF) Core, .NET Core ile geliştirilen uygulamalarda veritabanı işlemlerini kolaylaştıran bir ORM (Object-Relational Mapping) aracıdır. Veritabanı bağlantılarını, sorguları ve migrasyonları yönetirken, geliştiricilerin daha az kod yazarak
Entity Framework Core ile İlk Migration ve Database Oluşturma

Entity Framework (EF) Core, .NET Core ile geliştirilen uygulamalarda veritabanı işlemlerini kolaylaştıran bir ORM (Object-Relational Mapping) aracıdır.
Veritabanı bağlantılarını, sorguları ve migrasyonları yönetirken, geliştiricilerin daha az kod yazarak iş yapmalarını sağlar.
EF Core, uygulamanızın veritabanı şemasını yönetmek ve güncellemek için migration (göç) özelliğini sunar. Migration, veritabanınızdaki şemayı kod üzerinde değişiklik yaparak güncelleyebilmenizi sağlar.
Teknik Açıklama
EF Core ile migration işlemi, veritabanındaki değişiklikleri uygulamaya ve bu değişiklikleri veritabanına aktarmaya olanak tanır.
Migration işlemi, genellikle şu adımları içerir:
-
Modeli oluşturma: Uygulamanızda kullanacağınız veri modellerini sınıflar olarak tanımlarsınız.
-
Migration oluşturma: Bu modellerdeki değişiklikleri veritabanına uygulamak için migration oluşturursunuz.
-
Veritabanını güncelleme: Oluşturduğunuz migration'ı veritabanına uygularsınız.
EF Core, migration işlemleri sırasında veritabanının otomatik olarak güncellenmesini sağlar. Ayrıca, migrations geçmişiyle birlikte veritabanındaki değişikliklerin takibini kolaylaştırır.
Küçük Bir Kod Örneği
EF Core ile migration işlemini adım adım uygulayalım:
-
Model Sınıfı Oluşturma:
Öncelikle veritabanında tutacağımız bir model sınıfı oluşturuyoruz.
public class Blog
{
public int BlogId { get; set; }
public string Name { get; set; }
public string Url { get; set; }
}
-
DbContext Sınıfı:
EF Core, veritabanı ile bağlantıyı sağlayan birDbContext
sınıfı kullanır. Burada, blogları temsil edenDbSet<Blog>
özelliğini ekliyoruz.
using Microsoft.EntityFrameworkCore;
public class ApplicationDbContext : DbContext
{
public DbSet<Blog> Blogs { get; set; }
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
: base(options)
{ }
}
-
Migration Oluşturma:
Veritabanına bu modelin uygulanması için aşağıdaki komutu çalıştırıyoruz.
dotnet ef migrations add InitialCreate
Bu komut, veritabanına uygulamak için gerekli migration dosyasını oluşturur.
-
Veritabanını Güncelleme:
Son olarak, migration'ı veritabanına uyguluyoruz.
dotnet ef database update
Bu komut, migration'da tanımladığınız değişiklikleri veritabanına uygular. Artık veritabanınızda Blog
tablosu oluşturulmuş olacaktır.
Sonuç: Nerelerde Kullanılır?
EF Core migration özelliği, özellikle şu durumlarda oldukça faydalıdır:
-
Veritabanı şeması yönetimi: Veritabanı modelinde yapılan her değişikliği yönetmek için migration kullanabilirsiniz.
-
Sürekli geliştirme: Projeniz büyüdükçe, migration ile veritabanı şemalarındaki değişiklikleri güncelleyebilirsiniz.
-
CI/CD süreçleri: Otomatik migration işlemleriyle, veritabanı güncellemelerini sürekli entegrasyon ve dağıtım (CI/CD) süreçlerine dahil edebilirsiniz.
EF Core migration, özellikle büyük projelerde veritabanı yönetimini oldukça kolaylaştırır ve geliştirme sürecini hızlandırır.