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
Sfruttare GPT-4o realtime su Azure Open AI per conversazioni vocali
Ridurre il reflow cambiando il CSS
Generare un hash con SHA-3 in .NET
Recuperare automaticamente un utente e aggiungerlo ad un gruppo di Azure DevOps
Utilizzare Locust con Azure Load Testing
Generare velocemente pagine CRUD in Blazor con QuickGrid
Utilizzare il metodo IntersectBy per eseguire l'intersection di due liste
Ottimizzare le performance usando Span<T> e il metodo Split
Configurare e gestire sidecar container in Azure App Service
Gestire i dati con Azure Cosmos DB Data Explorer
Creare una libreria CSS universale: Nav menu
Utilizzare gRPC su App Service di Azure
I più letti di oggi
- Utilizzare il pattern matching per semplificare le espressioni
- Utilizzare requestAnimationFrame per animazioni fluide
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Utilizzare WebJobs su Linux con Azure App Service
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!