Entity Framework, meros qolgan C# sinflarini ma'lumotlar bazasi jadval tuzilmasiga qanday amalga oshiradi?
sobes.tech AI
AIdan javob
Entity Framework C# sinflarining merosxo'rligini ma'lumotlar bazasiga xarita qilish uchun bir nechta strategiyalarni qo'llab-quvvatlaydi:
-
Table Per Hierarchy (TPH) — barcha sinflar va ularning xususiyatlari bitta jadvalda saqlanadi, qo'shimcha diskriminator ustuni bilan, u ob'ekt turini ko'rsatadi.
-
Table Per Type (TPT) — har bir sinf uchun alohida jadval yaratiladi, voris jadvalari faqat qo'shimcha maydonlarni o'z ichiga oladi, va asosiy sinf bilan bog'lanish tashqi kalit orqali amalga oshiriladi.
-
Table Per Concrete Class (TPC) — har bir aniq sinf uchun alohida jadval yaratiladi, unda barcha maydonlar, meros bo'ladiganlar bilan birga, mavjud.
TPH misoli:
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; } }
// Ma'lumotlar bazasida, Id, Name, Lives, Breed va Discriminator ustunlariga ega bitta Animals jadvali bo'ladi.
Strategiyani tanlash, ishlash tezligi va ma'lumotlar tuzilishiga bog'liq.