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
Blazor e InputHidden in .NET 10
Abilitare il rolling update su Azure Functions flex consumption
Utilizzo del persistent state di Blazor nel prerendering
Analizzare il contenuto di una issue con GitHub Models e AI
Gestire il ciclo di vita di AbortController in Javascript
Utilizzare il Null conditional assignment di C# 14
Integrare OpenTelemetry direttamente in Azure Monitor
Referenziare un package NuGet in una file based app .NET
Come automatizzare il download dei report di billing da GitHub Enterprise
Modificare lo stile in una QuickGrid Blazor
Ottimizzare i costi con Smart tier in Azure Blob Storage
Utilizzare le direttive più importanti in una file based app .NET


