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
Comprimere le immagini contenute in un repository con una GitHub Action
Impostare un promemoria per ruotare le chiavi di Azure Storage
Utilizzare .NET 6 con le Azure Function
Estensione del markdown in GitHub
Compilare automaticamente applicazioni .NET 6 con le pipeline di Azure DevOps e GitHub Action
Un confronto tra React, Angular, Vue.js e Svelte: Form e validazione
Impostare il tema light o dark utilizzando i CSS
Creare velocemente microservice grazie a minimal API di ASP.NET Core 6
Introduzione al nuovo tipo TimeOnly di .NET
Utilizzare le Promise in Javascript - prima parte
Creare un'istanza di Azure Service Bus con ARM
Code reviewers as code in GitHub