Sobes.tech
Junior — Middle

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:

  1. Table Per Hierarchy (TPH) — barcha sinflar va ularning xususiyatlari bitta jadvalda saqlanadi, qo'shimcha diskriminator ustuni bilan, u ob'ekt turini ko'rsatadi.

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

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