Entity Framework Core, .NET için bir object-relational mapper'dır. Geliştiricilerin sorgular ve veritabanı tasarımı üzerinde kontrolü korurken veritabanı kayıtlarıyla C# nesneleri üzerinden çalışmasını sağlar.

DbContext

DbContext, veritabanıyla yapılan bir çalışma oturumunu temsil eder ve entity'ler için DbSet özelliklerini sunar. Ayrıca kalıcı hale getirilecek değişiklikleri takip eder.

Migrations

Migrations, veritabanı şema değişikliklerinin uygulama koduyla birlikte versiyonlanmasına yardımcı olur. Proje birden fazla sürüm boyunca gelişirken oldukça kullanışlıdır.

LINQ ile sorgular

EF Core mümkün olduğunda LINQ ifadelerini SQL'e çevirir. Böylece filtreleme ve aggregation işlemleri veritabanında kalırken daha okunabilir sorgular yazılabilir.

var activeUsers = await db.Users
    .Where(x => x.IsActive)
    .ToListAsync();

Performans

Yalnızca belirli kolonlara ihtiyacınız varsa projection kullanın, gereksiz veri yüklemekten kaçının ve bir sorgu beklenmedik davrandığında üretilen SQL'i inceleyin.

Not: Bu içerik genel teknik bilgilendirme amacıyla hazırlanmıştır. Üretim projelerinde kullanılan teknoloji ve mimari, projenin ihtiyaçlarına göre değerlendirilmelidir.