Sobes.tech
Junior — Middle

Entity Framework ma'lumotlar bazasi bilan ishlashda mos model sinfini qanday aniqlaydi?

sobes.tech AI

AIdan javob

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 использует конфигурацию и соглашения для определения, какой класс модели связан с какой таблицей в базе данных.