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
Utilizzare politiche di resiliency con Azure Container App
Inizializzare i container in Azure Container Apps
Gestire liste di tipi semplici con Entity Framework Core
Determinare lo stato di un pod in Kubernetes
Reactive form tipizzati con modellazione del FormBuilder in Angular
Hosting di componenti WebAssembly in un'applicazione Blazor static
Miglioramenti nell'accessibilità con Angular CDK
Evitare la script injection nelle GitHub Actions
Usare Refit e Polly in Blazor per creare client affidabili e fortemente tipizzati
Utilizzare domini personalizzati gestiti automaticamente con Azure Container Apps
Evitare la command injection in un workflow di GitHub
Miglioramenti agli screen reader e al contrasto in Angular