October 01, 2016 by Anuraj
C# ASP.NET Core Scaffolding
This post is about using scaffolding to create ASP.NET Core applications. Scaffolding is a technique supported by some model–view–controller frameworks, in which the programmer can specify how the application database may be used. The compiler or framework uses this specification, together with pre-defined code templates, to generate the final code that the application can use to create, read, update and delete database entries, effectively treating the templates as a scaffold on which to build a more powerful application.
Scaffolding in Visual Studio 2015
If you are using Visual Studio 2015, you can leverage scaffolding features by creating new ASP.NET Core Web Application project. You need to change the authentication mode to Individual User Accounts. This is bug in the current ASP.NET Core project templates.
If you are using any other authentication mode, scaffolding will not work. Once project is created, you can right click on the controllers folder, and can select the New scaffolded Item menu.
This will display Add Scaffold dialog, where you can select various templates similar to previous versions of Visual Studio.
Scaffolding in Visual Studio Code or Commandline
If you are using Command line or VS Code, you can get scaffold features with Code Generator package. To use this, first you need to include CodeGeneration packages in project.json.
Now you can restore the packages using
dotnet restore command. Once it is completed, you can scaffold controllers and views with the following command.
The above command will generate controller with name
HelloController in the root directory, and views for CRUD options inside
Hello folder under
Views folder. You can use
--help commandline switch after controller parameter to get more options about controller generator.
Happy Coding :)
Copyright © 2024 Anuraj. Blog content licensed under the Creative Commons CC BY 2.5 | Unless otherwise stated or granted, code samples licensed under the MIT license. This is a personal blog. The opinions expressed here represent my own and not those of my employer. Powered by Jekyll. Hosted with ❤ by GitHub