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
Escludere alcuni file da GitHub Secret Scanning
Modificare i metadati nell'head dell'HTML di una Blazor Web App
Testare l'invio dei messaggi con Event Hubs Data Explorer
Utilizzare il trigger SQL con le Azure Function
Sfruttare al massimo i topic space di Event Grid MQTT
Generare token per autenicarsi sulle API di GitHub
Creare una libreria CSS universale: Cards
Estrarre dati randomici da una lista di oggetti in C#
Miglioramenti agli screen reader e al contrasto in Angular
Effettuare il binding di date in Blazor
Generare un hash con SHA-3 in .NET
Eseguire una ricerca avanzata per recuperare le issue di GitHub