To learn ASP.NET MVC, we are Building an Internet Application.
Part VI: Adding a Database.
Creating the Database
Visual Web Developer comes with a free SQL database called SQL Server Compact.
The database needed for this tutorial can be created with these simple steps:
Right-click the App_Data folder in the Solution Explorer window
Select Add, New Item
Select SQL Server Compact Local Database *
Name the database Movies.sdf.
Click the Add button
* If SQL Server Compact Local Database is not an option, you have not installed SQL Server
Compact on your computer. Install it from this link: SQL Server Compact
Visual Web Developer automatically creates the database in the App_Data folder.
Note: In this tutorial it is expected that you have some knowledge about SQL databases. If
you want to study this topic first, please visit our SQL Tutorial.
Adding a Database Table
Double-clicking the Movies.sdf file in the App_Data folder will open a Database
Explorer window.
To create a new table in the database, right-click the Tables folder, and select Create
Table.
Create the following columns:
Column
Type
Allow Nulls
ID
int (primary key)
No
Title
nvarchar(100)
No
Director
nvarchar(100)
No
Date
datetime
No
Columns explained:
ID is an integer (whole number) used to identify each record in the table.
Title is a 100 character text column to store the name of the movie.
Director is a 100 character text column to store the director's name.
Date is a datetime column to store the release date of the movie.
After creating the columns described above, you must make the ID column the table's
primary key (record identifier). To do this, click on the column name (ID) and
select Primary Key. Also, in the Column Properties window, set the Identityproperty
to True:
When you have finished creating the table columns, save the table and name it MovieDBs.
Note:
We have deliberately named the table "MovieDBs" (ending with s). In the next chapter, you
will see the name "MovieDB" used for the data model. It looks strange, but this is the
naming convention you have to use to make the controller connect to the database table.
Adding Database Records
You can use Visual Web Developer to add some test records to the movie database.
Double-click the Movies.sdf file in the App_Data folder.
Right-click the MovieDBs table in the Database Explorer window and select Show Table
Data.
Add some records:
ID
Title
Director
Date
Psycho
Alfred Hitchcock
01.01.1960
La Dolce Vita
Federico Fellini
01.01.1960
Note: The ID column is updated automatically. You should not edit it.
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.
using
using
using
using
using
Edit the class:
System;
System.Collections.Generic;
System.Linq;
System.Web;
System.Data.Entity;
Ad by SelectionLinks. More Info | Hide These Ads
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 :-)