Ho creato un nuovo progetto ASP.NET Core con Identity Individual User
ma non ho creato alcun database.
Devo usare add-migration
update-database
manualmente.
Ricordo che, in passato, tutto era fatto automaticamente. Non so cosa c'è che non va stavolta.
VS2017.3
A seconda della versione di core dotnet che hai, il nucleo di ASP.NET potrebbe non creare automaticamente un database per te quando crei una nuova app.
Tuttavia, la semplice migrazione e l'aggiornamento del database dovrebbero funzionare. Innanzitutto, crea una nuova migrazione con la sintassi dotnet ef migrations add <MIGRATION_NAME>
. Così
dotnet ef migrations add InitialMigration
e quindi aggiorni il database in questo modo
dotnet ef database update
.
Questo dovrebbe fare il trucco.
Se si desidera creare solo uno schema di database, è possibile chiamare:
//IDbContext context;
context.Database.EnsureCreated();
EnsureCreated
ignora totalmente le migrazioni e crea semplicemente lo schema per te, non puoi combinarlo con le migrazioni.EnsureCreated
è progettato per il testing o la prototipazione rapida in cui si ha il diritto di eliminare e ricreare il database ogni volta. Se si utilizzano le migrazioni e si desidera che vengano applicate automaticamente all'avvio dell'app, è possibile utilizzarecontext.Database.Migrate()
.