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
Sfruttare lo streaming di una chiamata Http da Blazor
Evitare il flickering dei componenti nel prerender di Blazor 8
Usare un KeyedService di default in ASP.NET Core 8
Utilizzare QuickGrid di Blazor con Entity Framework
Eseguire query manipolando le liste contenute in un oggetto mappato verso una colonna JSON
Effettuare il refresh dei dati di una QuickGrid di Blazor
Sfruttare al massimo i topic space di Event Grid MQTT
Effettuare il binding di date in Blazor
Short-circuiting della Pipeline in ASP.NET Core
Utilizzare politiche di resiliency con Azure Container App
Utilizzare i primary constructor di C# per inizializzare le proprietà
Disabilitare automaticamente un workflow di GitHub (parte 2)