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 un service principal per accedere a Azure Container Registry
Installare le Web App site extension tramite una pipeline di Azure DevOps
Usare il versioning con i controller di ASP.NET Core Web API
Accesso sicuro ai secrets attraverso i file in Azure Container Apps
Utilizzare la versione generica di EntityTypeConfiguration in Entity Framework Core
Usare lo spread operator con i collection initializer in C#
Aggiungere interattività lato server in Blazor 8
Usare Refit e Polly in Blazor per creare client affidabili e fortemente tipizzati
Utilizzare Model as a Service su Microsoft Azure
Come EF 8 ha ottimizzato le query che usano il metodo Contains
Sfruttare lo stream rendering per le pagine statiche di Blazor 8
Come migrare da una form non tipizzata a una form tipizzata in Angular
I più letti di oggi
- Miglioramenti nelle performance di Angular 16
- Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
- HTML5 con CSS e JavaScript
- Ottimizzazione dei block template in Angular 17
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!