Nello script #535 abbiamo introdotto EF Core Power Tools, un'estensione per Visual studio che permette, oltre ad altre funzionalità, di effettuare il reverse engineering di un database e di ottenere le classi e il relativo mapping. Tra le varie opzioni di generazione del codice, c'è la possibilità di scegliere se usare per classi e proprietà gli stessi nomi di tabelle e campi. In caso positivo, vengono usati gli stessi nomi; in caso negativo i nomi vengono messi al singolare (solo per nomi inglesi).
Possiamo ulteriormente personalizzare questo processo attraverso una terza tecnica che ci permette di personalizzare completamente i nomi di classi e proprietà. Per sfruttare questa tecnica dobbiamo creare un file efpt.renaming.json nella root del progetto e impostarlo come in questo esempio.
[ { "UseSchemaName": false, "SchemaName": "dbo", "Tables": [ { "Name": "Tab_Clienti", "NewName": "Cliente", "Columns": [ { "Name": "Clienti_ID", "NewName": "Id" }, ] } ] } ]
In fase di reverse engineering, EF Core Power Tools legge questo file e quando trova la tabella Tab_Clienti crea la classe Cliente e quando all'interno della tabella trova il campo Clienti_ID crea la proprietà Id. Per le tabelle e i campi che non sono inclusi nel file, vengono usati i nomi del database.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Gestione dei nomi con le regole @layer in CSS
Hosting di componenti WebAssembly in un'applicazione Blazor static
Aprire una finestra di dialogo per selezionare una directory in WPF e .NET 8
Definire stili a livello di libreria in Angular
Referenziare un @layer più alto in CSS
Ottimizzare il mapping di liste di tipi semplici con Entity Framework Core
Utilizzare i primary constructor di C# per inizializzare le proprietà
Migliorare l'organizzazione delle risorse con Azure Policy
Gestione dell'annidamento delle regole dei layer in CSS
Modificare i metadati nell'head dell'HTML di una Blazor Web App
Sostituire la GitHub Action di login su private registry
Utilizzare database e servizi con gli add-on di Container App