Sobes.tech
Junior — Middle

Ինչպե՞ս է Entity Framework-ը որոշում համապատասխան մոդելի դասը տվյալների բազայի հետ աշխատելիս։

sobes.tech AI

Պատասխան AI-ից

Entity Framework (EF)-ն որոշում է համապատասխան մոդելային դասը տվյալների բազայի աղյուսակի համար՝ հիմնվելով մոդելի կոնֆիգուրացիայի վրա, որը սովորաբար սահմանվում է կոդում՝ օգտագործելով կոնտեքստի դասեր (DbContext) և DbSet<T> հատկություններ:

Հիմնական քարտեզագրման եղանակները՝

  • Դասի անունով և աղյուսակի անունով՝ EF-ը ըստ նախնական կարգավորում կապում է մոդելային դասը այն աղյուսակի հետ, որի անունը համընկնում է դասի անվան հետ (հաշվի առնելով անվանման կոնվենցիաները):
  • Արտահայտիչ նշանների (Data Annotations), օրինակ [Table("TableName")], միջոցով, որոնք հստակ նշում են աղյուսակի անունը:
  • Fluent API-ով OnModelCreating մեթոդում, որտեղ կարող եք կարգավորել դասերի և աղյուսակների համապատասխանությունը, ինչպես նաև հատկությունների և սյունակների միջև:

Օրինակ՝

public class MyContext : DbContext
{
    public DbSet<User> Users { get; set; }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<User>().ToTable("UsersTable");
    }
}

public class User
{
    public int Id { get; set; }
    public string Name { get; set; }
}

Այստեղ EF-ը գիտի, որ User դասը համապատասխանում է UsersTable աղյուսակին:

Այսպիսով՝ EF-ը օգտագործում է կոնֆիգուրացիան և կոնվենցիաները՝ որոշելու համար, թե որ մոդելային դասը կապված է որ աղյուսակի հետ տվյալների բազայում: