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
OnModelCreatingmetó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.