Sto sviluppando un'applicazione WPF che dipende da Entity Framework per l'accesso ai dati. Alla prima installazione devo creare una nuova stringa di connessione basata sull'input dell'utente, quindi aggiornare App.Config in base a ciò.
Il problema è: dopo aver aggiornato il file App.Config, Entity Framework non rileva la modifica e utilizza il vecchio ConnectionString all'avvio per creare un'istanza di DbContext.
Come posso aggiornare l'impostazione ConnectionString di Entity Framework in fase di runtime?
Entity Framework memorizza nella cache la stringa di connessione, non esiste un metodo per forzare un aggiornamento.
Da questo articolo : la stringa di connessione fornita nel costruttore DbContext
non viene memorizzata nella cache, quindi puoi utilizzare questo come soluzione alternativa:
public class MyContext : DbContext {
public MyContext()
: base(ConfigurationManager.ConnectionStrings["MyConnection"].ConnectionString)
{
}
}
Ho avuto lo stesso errore. La mia nuova stringa di connessione mancava "Initial Catalog ="