2.9 KiB
title | author | description | ms.author | ms.date | uid |
---|---|---|---|---|---|
Add a model to an ASP.NET Core MVC app | rick-anderson | Add a model to a simple ASP.NET Core app. | riande | 09/18/2017 | tutorials/first-mvc-app-xplat/adding-model |
[!INCLUDE adding-model1]
- Add a class to the Models folder named Movie.cs.
- Add the following code to the Models/Movie.cs file:
The ID
field is required by the database for the primary key.
Build the app to verify you don't have any errors, and you've finally added a Model to your MVC app.
Prepare the project for scaffolding
-
Add the following highlighted NuGet packages to the MvcMovie.csproj file:
-
Save the file and select Restore to the Info message "There are unresolved dependencies".
-
Create a Models/MvcMovieContext.cs file and add the following
MvcMovieContext
class: -
Open the Startup.cs file and add two usings:
-
Add the database context to the Startup.cs file:
This tells Entity Framework which model classes are included in the data model. You're defining one entity set of Movie objects, which will be represented in the database as a Movie table.
-
Build the project to verify there are no errors.
Scaffold the MovieController
Open a terminal window in the project folder and run the following commands:
dotnet restore
dotnet aspnet-codegenerator controller -name MoviesController -m Movie -dc MvcMovieContext --relativeFolderPath Controllers --useDefaultLayout --referenceScriptLibraries
The scaffolding engine creates the following:
- A movies controller (Controllers/MoviesController.cs)
- Razor view files for Create, Delete, Details, Edit and Index pages (Views/Movies/*.cshtml)
The automatic creation of CRUD (create, read, update, and delete) action methods and views is known as scaffolding. You'll soon have a fully functional web application that lets you manage a movie database.
[!INCLUDE adding-model 2x]
[!INCLUDE adding-model]
You now have a database and pages to display, edit, update and delete data. In the next tutorial, we'll work with the database.
Additional resources
[!div class="step-by-step"] Previous - Add a view Next - Working with SQLite