Sobes.tech
Junior — Middle

Entity Framework, kalıtımlı C# sınıflarını veritabanı tabloları yapısına nasıl uygular?

sobes.tech yapay zeka

AI'dan gelen yanıt

Entity Framework, C# sınıflarının kalıtımını veritabanı tablolarına eşlemede birkaç stratejiyi destekler:

  1. Table Per Hierarchy (TPH) — tüm sınıflar ve özellikleri, nesne türünü belirten ek bir ayırt edici sütun ile birlikte tek bir tabloda saklanır.

  2. Table Per Type (TPT) — her sınıf için ayrı bir tablo oluşturulur, mirasçı tablolar yalnızca ek alanlar içerir ve temel sınıf ile ilişki dış anahtar aracılığıyla kurulur.

  3. Table Per Concrete Class (TPC) — her somut sınıf için ayrı bir tablo oluşturulur ve tüm alanları, kalıtılanlar da dahil olmak üzere, içerir.

TPH örneği:

public abstract class Animal { public int Id { get; set; } } public class Cat : Animal { public int Lives { get; set; } } public class Dog : Animal { public string Breed { get; set; } }

// Veritabanında, Id, Name, Lives, Breed ve Discriminator sütunlarına sahip tek bir Animals tablosu bulunur.

Strateji seçimi, performans gereksinimleri ve veri yapısına bağlıdır.