Entity Framework (EF) Core: Kodla Veritabanı Yönetimi (Code First)

crazy_coder

Moderatör
Katılım
20 Şub 2026
Mesajlar
204
Tepkime puanı
0
Puanları
16

Entity Framework Core: Code First ile Veritabanı Mimarisi​


EF Core, bir Object-Relational Mapper (ORM) aracıdır. Görevi şudur: Sizin C# sınıflarınızı veritabanındaki tablolara, bu sınıflardan ürettiğiniz nesneleri ise tablodaki satırlara dönüştürür. SQL sorguları yazmak yerine LINQ metotlarını kullanmanıza olanak tanır.



1. Code First Yaklaşımı Nedir?​


Code First, "Önce Kod" demektir. Siz veritabanına gidip tablo oluşturmazsınız; C# tarafında sınıflarınızı ve özelliklerinizi yazarsınız, EF Core bu kodlara bakarak veritabanını sizin yerinize otomatik olarak oluşturur veya günceller.

Temel Bileşenler:

  • []Entity (Varlık): Veritabanındaki bir tabloyu temsil eden sınıftır.
    []DbContext:** Veritabanı ile uygulama arasındaki köprüdür. Sorguların ve bağlantıların yönetildiği merkezdir.
    [*]Migration (Göç): Kodda yaptığınız değişikliklerin veritabanına yansıtılma sürecidir.




2. Örnek Bir Senaryo: Ürün Yönetimi​


Hadi, basit bir ürün tablosu tasarlayalım.

Adım 1: Entity Sınıfını Oluşturun
C#:
public class Urun
{
public int Id { get; set; } // Otomatik Primary Key olur
public string Ad { get; set; }
public decimal Fiyat { get; set; }
}

Adım 2: DbContext Sınıfını Hazırlayın
C#:
using Microsoft.EntityFrameworkCore;

public class UygulamaDbContext : DbContext
{
// Hangi sınıfların tablo olacağını belirtiyoruz
public DbSet<Urun> Urunler { get; set; }

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
    // Bağlantı cümlesini burada veya Program.cs'de belirtebilirsiniz
    optionsBuilder.UseSqlServer("Server=.;Database=UrunDb;Trusted_Connection=True;");
}

}



3. Migration: Kodun Veritabanına Dönüşümü​


Kodunuz hazır olduktan sonra "Package Manager Console" üzerinden şu iki komutu sırayla çalıştırırsınız:


  1. []Add-Migration İlkKurulum: EF Core sınıfları inceler ve veritabanı şemasını oluşturmak için bir C# dosyası hazırlar.
    []Update-Database: Hazırlanan bu şemayı gerçek veritabanına uygular ve tabloları oluşturur.



4. Veri Ekleme ve Sorgulama (LINQ Gücü)​


Veritabanı oluştuktan sonra veri eklemek veya çekmek bir liste işlemi kadar kolaydır:

C#:
using var context = new UygulamaDbContext();

// Veri Ekleme
context.Urunler.Add(new Urun { Ad = "Laptop", Fiyat = 25000 });
context.SaveChanges(); // SQL'deki COMMIT karşılığı

// Veri Çekme (LINQ)
var pahaliUrunler = context.Urunler.Where(u => u.Fiyat > 20000).ToList();



Neden EF Core Kullanmalıyız?​


AvantajAçıklama
HızCRUD (Ekle, Sil, Güncelle) işlemleri için SQL yazma zahmetini bitirir.
BakımVeritabanı şeması kodun içinde olduğu için versiyon takibi kolaydır.
GüvenlikSQL Injection gibi saldırılara karşı otomatik koruma sağlar.



Sonuç​


EF Core, modern .NET geliştirmede veritabanı katmanının (Data Access Layer) vazgeçilmezidir. Code First yaklaşımıyla veritabanını kodun bir parçası haline getirerek, yazılım geliştirme sürecini çok daha akıcı ve hatasız bir hale getirebilirsiniz.
 
Geri
Üst