Sto esaminando il tutorial MvcMusicStore sul sito Web www.asp.net.
Sono in grado di utilizzare Entity Framework Core 2.0 e le migrazioni per creare un DB in localDb. Ecco la stringa di connessione da quella in appsettings.json:
"MvcMovieContext": "Server=(localdb)\\mssqllocaldb;Database=MvcMovieContext-19840e0a-5fb4-409c-9f38-7f2946cd3937;Trusted_Connection=True;MultipleActiveResultSets=true",
Ogni volta che eseguo questi tutorial di solito, a questo punto, una volta creato il DB e tutto funziona su SQL Server Express, perché in questo modo sviluppo effettivamente i miei progetti.
Quindi Entity Framework controlla la nuova stringa di connessione, non vede il DB esistente e crea il nuovo DB basato sul Modello.
Ma non riesco a ottenere il funzionamento della stringa di connessione su SQL Express.
Ecco cosa ho provato finora:
"MvcMovieContext": "Server=MyComputerName\\SQLEXPRESS;Database=MvcMovie;Trusted_Connection=True;MultipleActiveResultSets=true"
e
"MvcMovieContext": "Data Source=.\\SQLEXPRESS;Initial Catalog=MvcMovie;Integrated Security=True;MultipleActiveResultSets=true"
Entrambi danno lo stesso risultato. Il messaggio temuto:
SqlException: impossibile aprire il database "MvcMovie" richiesto dal login. L'accesso non è riuscito. Accesso fallito per utente 'Dominio \ smiller'.
Ho installato SQL Server Express in modalità mista in modo che l'autenticazione di Windows funzioni e ho reso l'account "Dominio \ smiller" a DbCreater in Server Roles.
Non riesco a capirlo.
Dovevo correre:
Update-Database
Ho passato l'anno scorso: perché dotnet ef non è in grado di creare un database contro SQL Server Express?
Sembra che non imparo mai.