Yazılar · 29.11.25 · 1 dk

EF Core 8: production'da kullandığım 4 özellik

Bulk, JSON column, complex type, primitive collection — slide deck değil, saha notu.

EF Core 8: production'da kullandığım 4 özellik

EF Core 8, .NET'in veritabanı katmanı (ORM — nesneleri SQL'e çeviren araç). "Yeni özellik" listesi uzun; canlı ortamda gerçekten kullandığım dört tanesi var — hepsi sorgu ve migration maliyetini düşürdü.

ExecuteUpdate/Delete: Kayıtları belleğe çekmeden toplu güncelleme ve silme yapar. E-ticarette "30 günden eski iptal siparişlerini kapat" gibi işlerde bellek patlamasını ve N+1 (her kayıt için ayrı sorgu) sorununu keser. JSON columns: Esnek alanlar için işe yarar ama her JSON alanına index disk şişirir. Complex types: Değer nesnelerini (value object — örneğin Para, Adres) doğrudan eşler. Primitive collections: Etiket listesi gibi basit koleksiyonlar için ara tablo şişmesini önler.

EF Core 8 özellikleri

await db.Orders.Where(o => o.Status == Open).ExecuteUpdateAsync(
    s => s.SetProperty(o => o.Status, Closed), ct);

Havalı özellik değil — mevcut sorgunun EXPLAIN çıktısını iyileştiren seçim.

Özet: ExecuteUpdate/Delete toplu işlerde bellekten tasarruf eder. JSON ve complex types bilinçli kullanılmalı.

EF Core 8: production'da kullandığım 4 özellik — Aziz Osmanoğlu