Sobes.tech
Junior — Middle

Comment Entity Framework détermine-t-il la classe de modèle appropriée lors de l'interaction avec la base de données?

sobes.tech IA

Réponse de l'IA

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