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:
-
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.
-
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.
-
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.