Quando mappiamo il nostro modello verso il database, ci sono moltissime cose a cui dobbiamo prestare attenzione come la lunghezza dei campi di tipo string, il tipo che vogliamo assegnare alle proprietà di tipo Datetime e altro ancora. Molto spesso queste impostazioni sono uguali per tutte le proprietà come il fatto che le stringhe devono essere tutte non unicode, che i value type convertiti in JSON hanno lo stesso mapping e così via. In queste situazioni può tornare utile specificare un mapping non per proprietà, ma globalmente per il tipo.
A partire da Entity Framewok Core 6, possiamo specificare queste convenzioni eseguendo l'override del metodo ConfigureConventions della classe DbContext così come mostrato nell'esempio.
protected override void ConfigureConventions(ModelConfigurationBuilder configurationBuilder)
{
configurationBuilder
.Properties<string>()
.AreUnicode(false)
.HaveMaxLength(1024);
}In questo esempio, con il metodo Properties specifichiamo che tutte proprietà di tipo string hanno una lunghezza di 1024 caratteri e non sono unicode. Ovviamente se impostiamo questi stessi parametri di mapping in una proprietà di una entity, quelli di default vengono sovrascritti. Per fare un esempio, se sulla proprietà Nome dell'entity Persona impostiamo una lunghezza di 50, verrà usata quella e non quella 1024.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Recuperare le subissue e il loro stato di completamento in GitHub
Esporre tool MCP con Azure Functions
Controllare la telemetria con .NET Aspire
Testare il failover sulle region in Azure Storage
Configuratione e utilizzo .NET Aspire CLI
Configurare OpenAI in .NET Aspire
Utilizzare DeepSeek R1 con Azure AI
Gestione delle scrollbar dinamiche in HTML e CSS
Centralizzare gli endpoint AI Foundry con Azure API Management
Creare comandi nella dashboard .NET Aspire
Disabilitare le run concorrenti di una pipeline di Azure DevOps
Mischiare codice server side e client side in una query LINQ con Entity Framework
I più letti di oggi
- Effettuare il multi-checkout in linea nelle pipeline di Azure DevOps
- Esaminare documenti XML con namespace utilizzando LINQ to XML
- Le DirectInk API nella Universal Windows Platform
- Alleggerire le applicazioni WPF sfruttando gli oggetti Freezable
- Effetto turnstile su tutte le pagine con il Windows Phone Toolkit
- Gli oggetti CallOut di Expression Blend 4.0
- Sfruttare una CDN con i bundle di ASP.NET


