Lo scaffolding offerto da Visual Studio rappresenta un buon punto di partenza per costruire applicazioni con logica CRUD orientata al modello, ad esempio legato direttamente al database con Entity Framework.
I modelli di default rappresentano un punto di partenza e possono essere personalizzati, per esempio per iniettare logica custom all'interno di una action di un Controller, oppure per cambiare parti delle View e sfruttare al meglio le nostre necessità, senza dover ripetere ogni volta l'operazione, ma facendo già generare codice che rispetti le nostre reali necessità.
Per procedere a questa personalizzazione, occorre recuperare i template originale, che sono a questo indirizzo (per VS 2013):
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\Extensions\Microsoft\Web\Mvc\Scaffolding\Templates
e copiarli all'interno della directory CodeTemplates, posta nella root all'interno dell'applicazione (e che non va distribuita, poiché contiene solo file necessari alla solution).
Nell'esempio abbiamo copiato i template (solo in C#, nella directory sono presenti anche in VB) per generare View e Controller basati su Entity Framework.
Con lo stesso approccio si possono cambiare i template di scaffolding per Web API, per generare le aree di MVC, le view vuote, e così via.
I template sono in formato T4, un linguaggio di scripting di Visual Studio, che quest'ultimo utilizza per generare codice in maniera automatica e di cui abbiamo già parlato in passato.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Specificare il versioning nel path degli URL in ASP.NET Web API
Gestire i null nelle reactive form tipizzate di Angular
Criptare la comunicazione con mTLS in Azure Container Apps
Ottimizzare la latenza in Blazor 8 tramite InteractiveAuto render mode
Registrare servizi multipli tramite chiavi in ASP.NET Core 8
Usare Refit e Polly in Blazor per creare client affidabili e fortemente tipizzati
Miglioramenti agli screen reader e al contrasto in Angular
Implementare il throttling in ASP.NET Core
Trasformare qualsiasi backend in un servizio GraphQL con Azure API Management
Elencare le container images installate in un cluster di Kubernetes
Eseguire una GroupBy per entity in Entity Framework
Filtrare e rimuovere gli elementi dalla cache del browser tramite le API JavaScript