Sobes.tech
Junior — Middle

Hogyan határozza meg az Entity Framework a megfelelő modell osztályt az adatbázissal való munkánál?

sobes.tech MI

Válasz az MI-től

Az Entity Framework (EF) a modell osztályt határozza meg a megfelelő adatbázis tábla számára a modell konfigurációja alapján, amely általában a kódban a kontextus osztályok (DbContext) és a DbSet<T> tulajdonságok segítségével van beállítva.

Fő térképezési módok:

  • Osztálynév és tábla név szerint: az EF alapértelmezés szerint a modell osztályt a hozzá tartozó táblához társítja, amelynek neve megegyezik az osztály nevével (a névadási konvenciók figyelembevételével).
  • A Data Annotations attribútumok, például [Table("TableName")], amelyek kifejezetten megadják a tábla nevét.
  • Fluent API használatával a OnModelCreating metódusban, ahol konfigurálhatók az osztályok és táblák, valamint a tulajdonságok és oszlopok közötti megfeleltetések.

Példa:

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

Itt az EF tudja, hogy a User osztály a UsersTable táblának felel meg.

Így az EF a konfiguráció és a konvenciók segítségével határozza meg, hogy melyik modell osztály melyik táblához tartozik az adatbázisban.