Quando sviluppiamo applicazioni multitenant ci troviamo sempre davanti a una scelta: utilizzare un solo database per tutti i tenant o utilizzare un database per tenant? Nel caso optassimo per la seconda scelta, dovremmo impostare la stringa di connessione in base all'utente. A partire da Entity Framework Core 5, possiamo modificare la stringa di connessione, anche una volta che il contesto è stato inizializzato, attraverso l'extension method SetConnectionString della classe DatabaseFacade esposta dalla proprietà Database del contesto.
static void Main(string[] args) { using (var ctx = new NorthwindContext()) { var x1 = ctx.Customers.ToList(); ctx.Database.SetConnectionString("newconnectionstring"); var x2 = ctx.Customers.ToList();
In questo esempio, la prima query viene eseguita usando la stringa di connessione impostata in configurazione, mentre la seconda viene eseguita usando la nuova stringa di connessione.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Eseguire query verso tipi non mappati in Entity Framework Core
Code scanning e advanced security con Azure DevOps
Ottimizzare il mapping di liste di tipi semplici con Entity Framework Core
Gestione degli stili CSS con le regole @layer
Utilizzare Tailwind CSS all'interno di React: primi componenti
Generare la software bill of material (SBOM) in GitHub
Usare le navigation property in QuickGrid di Blazor
Generare un hash con SHA-3 in .NET
Estrarre dati randomici da una lista di oggetti in C#
Personalizzare l'errore del rate limiting middleware in ASP.NET Core
Installare le Web App site extension tramite una pipeline di Azure DevOps
Utilizzare database e servizi con gli add-on di Container App