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 file Javascript in Blazor con .NET 9
Collegare applicazioni server e client con .NET Aspire
Gestire la cancellazione di una richiesta in streaming da Blazor
Gestione dell'annidamento delle regole dei layer in CSS
Gestire il colore CSS con HWB
Effettuare il log delle chiamate a function di GPT in ASP.NET Web API
Utilizzare l'espressione if inline in una pipeline di Azure DevOps
Utilizzare Locust con Azure Load Testing
Recuperare App Service cancellati su Azure
Gestione CSS in Blazor con .NET 9
Inference di dati strutturati da testo con Semantic Kernel e ASP.NET Core Web API
Referenziare un @layer più alto in CSS