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
Installare le Web App site extension tramite una pipeline di Azure DevOps
Utilizzare i primary constructor di C# per inizializzare le proprietà
Eseguire query verso tipi non mappati in Entity Framework Core
Specificare il versioning nel path degli URL in ASP.NET Web API
Ottimizzazione dei block template in Angular 17
Inizializzare i container in Azure Container Apps
Registrare servizi multipli tramite chiavi in ASP.NET Core 8
Limitare le richieste lato server con l'interactive routing di Blazor 8
Personalizzare l'errore del rate limiting middleware in ASP.NET Core
Disabilitare automaticamente un workflow di GitHub
Come migrare da una form non tipizzata a una form tipizzata in Angular
Code scanning e advanced security con Azure DevOps
I più letti di oggi
- Miglioramenti nelle performance di Angular 16
- Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
- HTML5 con CSS e JavaScript
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Ottimizzazione dei block template in Angular 17
- Disabilitare automaticamente un workflow di GitHub (parte 2)