Junior — Middle
Entity Framework, irsi qalan C# siniflərinin verilənlər bazası cədvəl strukturlarına necə tətbiq edir?
sobes.tech Süni İntellekt
AI-dan cavab
Entity Framework, C# siniflərinin irsiyyətinin verilənlər bazası cədvəllərinə xəritələnməsi üçün bir neçə strategiyanı dəstəkləyir:
-
Table Per Hierarchy (TPH) — bütün siniflər və onların xüsusiyyətləri tək bir cədvəldə saxlanılır və obyekt növünü göstərən əlavə diskriminator sütunu ilə birlikdə.
-
Table Per Type (TPT) — hər sinif üçün ayrıca cədvəl yaradılır, irsi cədvəllər yalnız əlavə sahələr ehtiva edir və əsas siniflə əlaqə xarici açar vasitəsilə qurulur.
-
Table Per Concrete Class (TPC) — hər konkret sinif üçün ayrıca cədvəl yaradılır və bütün sahələri, o cümlədən irsi sahələri ehtiva edir.
TPH nümunəsi:
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; } }
// Verilənlər bazasında, Id, Name, Lives, Breed və Discriminator sütunlarına malik tək bir Animals cədvəli olacaq.
Stratejiyanın seçimi performans tələbləri və məlumatların quruluşundan asılıdır.