Cześć!
Potrzebuję wypełnić wszystkie tabele w DB podstawowymi danymi. Czy ktoś może polecić mi sprawdzony patent na dokonanie tego w jakiś "cywilizowany" sposób?
Nie chciałbym tego robić przez HasData, aby nie generować masy kodu w plikach migracyjnych:
modelBuilder.Entity<SampleEntity>().HasData(
new SampleEntity { Id= 1, Name= "Sample" });
W .NET 4.8 można było skorzystać z DbMigrationsConfiguration, być może jest jakiś odpowiednik na Core?
Obecnie radzę sobie tak:
W Program.cs tworzę scope, do klasy seed-ującej przekazuję ServiceProvider, z którego wyciągam DbContext i robię odpowiednie inserty na tabelach
using (var scope = newHost.Services.CreateScope())
{
var services = scope.ServiceProvider;
Configuration.Seed(services);
}