ASP.NET MVC - Models
To learn ASP.NET MVC, we are Building an Internet Application.
Part VII: Adding a Data Model.
MVC Models
The MVC Model contains all application logic (business logic, validation logic, and data access logic), except pure view and controller logic.
With MVC, models both hold and manipulate application data.
The Models Folder
The Models Folder contains the classes that represent the application model.
Visual Web Developer automatically creates an AccountModels.cs file that contains the models for application security.
AccountModels contains a LogOnModel, a ChangePasswordModel, and a RegisterModel.
Adding a Database Model
The database model needed for this tutorial can be created with these simple steps:
- In the Solution Explorer, right-click the Models folder, and select Add and Class.
- Name the class MovieDB.cs, and click Add.
- Edit the class:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.Entity;
namespace MvcDemo.Models
{
public class MovieDB
{
public int ID
{ get; set; }
public string Title { get; set; }
public string Director
{ get; set; }
public DateTime Date { get; set; }
}
public class
MovieDBContext : DbContext
{
public DbSet<MovieDB> Movies { get; set;
}
}
}
Note:
We have deliberately named the model class "MovieDB". In the previous chapter, you saw the name "MovieDBs" (ending with s) used for the database table. It looks strange, but this is the naming convention you have to use to make the model connect to the database table.
Adding a Database Controller
The database controller needed for this tutorial can be created with these simple steps:
- Re-Build your project: Select Debug, and then Build MvcDemo from the menu.
- In the Solution Explorer, right-click the Controllers folder, and select Add and Controller
- Set controller name to MoviesController
- Select template: Controller with read/write actions and views, using Entity Framework
- Select model class: MovieDB (MvcDemo.Models)
- Select data context class: MovieDBContext (MvcDemo.Models)
- Select views Razor (CSHTML)
- Click Add
Visual Web Developer will create the following files:
- A MoviesController.cs file in the Controllers folder
- A Movies folder in the Views folder
Adding Database Views
The following files are automatically created in the Movies folder:
- Create.cshtml
- Delete.cshtml
- Details.cshtml
- Edit.cshtml
- Index.cshtml
Adding a Connection String
Add the following element to the <connectionStrings> element in your Web.config file:
<add name="MovieDBContext"
connectionString="Data
Source=|DataDirectory|\Movies.sdf"
providerName="System.Data.SqlServerCe.4.0"/>
Congratulations
Congratulations. You have added your first MVC data model to your application.
Now you can click on the "Movies" tab :-)