Ինչպե՞ս է Entity Framework-ը իրականացնում ժառանգական C# դասերի քարտեզագրումը տվյալների բազայի աղյուսակների կառուցվածքում։
sobes.tech AI
Պատասխան AI-ից
Entity Framework-ն աջակցում է մի քանի ռազմավարությունների՝ C# դասերի ժառանգության քարտեզագրումը տվյալների բազայի աղյուսակների մեջ.
-
Table Per Hierarchy (TPH) — բոլոր դասերն ու նրանց հատկությունները պահվում են մեկ աղյուսակում՝ լրացուցիչ discriminator սյունակով, որը ցույց է տալիս օբյեկտի տիպը:
-
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
Ընտրությունը կախված է կատարողականության պահանջներից և տվյալների կառուցվածքից։