Junior — Middle
Entity Framework, мурас келген C# класстарынын базанын таблицалар түзүмүнө кантип ишке ашырат?
sobes.tech AI
AIден жооп
Entity Framework, C# класстарынын мурасчылыгын базанын таблицаларына карта кылуу үчүн бир нече стратегияларды колдойт:
-
Table Per Hierarchy (TPH) — бардык класстар жана алардын касиеттери бир таблицада сакталат, кошумча дискриминатор колонкасы менен, ал объекттин түрүн көрсөтөт.
-
Table Per Type (TPT) — ар бир класс үчүн өзүнчө таблица түзүлөт, мурасчылардын таблицалары гана кошумча талааларды камтыйт, жана негизги класс менен байланышты сырткы ачкыч аркылуу түзөт.
-
Table Per Concrete Class (TPC) — ар бир конкреттүү класс үчүн өзүнчө таблица түзүлөт, ал бардык талааларды камтыйт, мурас алгандар менен бирге.
TPH мисалы:
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; } }
// Базада бир таблица болот, аты Animals, ал Id, Name, Lives, Breed жана Discriminator колонкаларын камтыйт.
Стратегияны тандоо иштөө ылдамдыгына жана маалыматтын түзүлүшүнө жараша болот.