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-ը օգտագործում է կոնֆիգուրացիան և կոնվենցիաները՝ որոշելու համար, թե որ մոդելային դասը կապված է որ աղյուսակի հետ տվյալների բազայում: