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
Utilizzare Model as a Service su Microsoft Azure
Sfruttare al massimo i topic space di Event Grid MQTT
Eseguire le GitHub Actions offline
Eseguire attività basate su eventi con Azure Container Jobs
Autenticarsi in modo sicuro su Azure tramite GitHub Actions
Effettuare chiamate con versioning da Blazor ad ASP.NET Core
Utilizzare HiLo per ottimizzare le insert in un database con Entity Framework
Controllare gli accessi IP alle app con Azure Container Apps
Creazione di plugin per Tailwind CSS: espandere le funzionalità del framework dinamicamente
Ottimizzare il mapping di liste di tipi semplici con Entity Framework Core
Creare alias per tipi generici e tuple in C#
Creare form tipizzati con Angular