Sobes.tech
Junior — Middle

Kuidas rakendab Entity Framework pärandatud C# klasside kaardistamist andmebaasi tabeli struktuuri?

sobes.tech AI

Vastus AI-lt

Entity Framework toetab mitmeid strateegiaid C# klasside päriluse kaardistamiseks andmebaasitabelitesse:

  1. Table Per Hierarchy (TPH) — kõik klassid ja nende omadused salvestatakse ühes tabelis koos täiendava diskrimineerivaga veeruga, mis näitab objekti tüüpi.

  2. Table Per Type (TPT) — iga klassi jaoks luuakse eraldi tabel, kus pärilustabelid sisaldavad ainult täiendavaid välju ning seos põhiklassiga toimub välise võtme kaudu.

  3. Table Per Concrete Class (TPC) — iga konkreetse klassi jaoks luuakse eraldi tabel, mis sisaldab kõiki välju, kaasa arvatud pärandatud.

TPH näide:

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; } }

// Andmebaasis on üks tabel nimega Animals, millel on veerud Id, Name, Lives, Breed ja Discriminator

Strateegia valik sõltub jõudlusnõuetest ja andmestruktuurist.