Net 6 + EF 6 – database first – MySql

Často máme existující strukturu databáze s daty (database first). Pro přístup k této db potřebujeme modelové třídy, které budou představovat data z DB. Vygenerování modelových tříd z DB tabulek se nazývá scaffolding. Dnes si ukážeme jak toho dosáhnout v net6, Entity Framework 6 pro MySql databázi.

  1. Přes Package Manager instalujeme:
Install-Package Microsoft.EntityFrameworkCore.Design -Version 6.0.1

2) vygenerujeme entity z tabulek DB:

dotnet ef dbcontext scaffold "server=localhost;user=root;password=xxx;database=app_cz" "Pomelo.EntityFrameworkCore.MySql" --output-dir Models -f

Tím pro každou tabulku vygenerujeme odpovídající modelovou třídu.

Nyní přidáme tyto modelové třídy do DbContextu, přes který budeme získávat data:

public DbSet<User> Users { get; set; }
public DbSet<Event> Events { get; set; }
//...
public DbSet<Log> Logs { get; set; }

Získáme všechny uživatele:

return _dataContext.Users.ToList();