Per convenzione, la classe DbContext legge la stringa di connessione dalla sezione ConnectionStrings del file di configurazione laddove la chiave della sezione corrisponda al nome della classe che eredita da DbContext. Ad esempio, se la classe che eredita da DbContext si chiama MyContext, automaticamente viene cercata nella sezione ConnectionString la stringa di connessione con chiave MyContext così come mostrato in questo esempio.
<connectionStrings> <add key="MyContext" value="..."> </connectionStrings>
Sebbene questo meccanismo sia comodo nella maggior parte dei casi, ci sono dei casi in cui abbiamo la necessità di recuperare la stringa di connessione a run time. In questi casi, dobbiamo creare un nuovo costruttore nella classe MyContext. Questo costruttore accetta in input la stringa di connessione e a sua volta chiama il costruttore base passando la stringa. Nel nostro codice non dobbiamo fare altro che recuperare la stringa di connessione (dal file di configurazione, da un servizio o altro ancora) e passarla al nuovo costruttore.
public class MyContext : DbContext { public MyContext(string connectionString) : base(connectionString) { } } ... var connectionString = GetConnectionString(); var myContext = new DbContext(connectionString);
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Utilizzare il metodo Index di LINQ per scorrere una lista sapendo anche l'indice dell'elemento
Eseguire query in contemporanea con EF
Utilizzare WhenEach per processare i risultati di una lista di task
Utilizzare la funzione EF.Parameter per forzare la parametrizzazione di una costante con Entity Framework
Filtrare i dati di una QuickGrid in Blazor con una drop down list
Potenziare la ricerca su Cosmos DB con Full Text Search
Creare un webhook in Azure DevOps
Utilizzare EF.Constant per evitare la parametrizzazione di query SQL
Rinnovare il token di una GitHub App durante l'esecuzione di un workflow
Autenticazione di git tramite Microsoft Entra ID in Azure DevOps
Utilizzare l nesting nativo dei CSS
Ottimizzare le pull con Artifact Cache di Azure Container Registry