ASP.NET MVC4入门教程(四):添加一个模型

时间:2022-09-10 09:57:16

在本节中,您将添加一些类,这些类用于管理数据库中的电影。这些类是ASP.NET MVC 应用程序中的"模型(Model)"。

您将使用.NET Framework 数据访问技术Entity Framework,来定义和使用这些模型类。Entity Framework(通常称为 EF) 是支持代码优先的开发模式。代码优先允许您通过编写简单的类来创建对象模型。(相对于"原始的CLR objects",这也被称为POCO 类)然后可以从您的类创建数据库,这是一个非常干净快速的开发工作流程。

添加模型类

在解决方案资源管理器中,右键单击模型文件夹,选择添加,然后选择类.

ASP.NET MVC4入门教程(四):添加一个模型

输入Class名 "Movie"。

将下列五个属性添加到Movie类:

?
1
2
3
4
5
6
7
8
9
public class Movie
{
  public int ID { get; set; }
  public string Title { get; set; }
  public DateTime ReleaseDate { get; set; }
  public string Genre { get; set; }
  public decimal Price { get; set; }
 
}

我们将使用Movie类来表示数据库中的电影。Movie对象的每个实例将对应数据库表的一行, Movie类的每个属性将对应表的一列。

在同一文件中,添加下面的MovieDBContext类:

?
1
2
3
4
5
public class MovieDBContext : DbContext
{
  public DbSet<Movie> Movies { get; set; }
 
}

MovieDBContext类代表Entity Framework的电影数据库类,这个类负责在数据库中获取,存储,更新,处理 Movie 类的实例。MovieDBContext继承自Entity Framework的 DbContext基类。

为了能够引用DbContext和DbSet,您需要在文件的顶部添加以下using语句:

using System.Data.Entity;

下面显示了完整的Movie.cs文件。(一些不用的using语句已经被删除了)

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
using System;
using System.Data.Entity;
 
 
namespace MvcMovie.Models
{
  public class Movie
  {
   public int ID { get; set; }
   public string Title { get; set; } 
   public DateTime ReleaseDate { get; set; } 
   public string Genre { get; set; }
   public decimal Price { get; set; }
  }
 
 
  public class MovieDBContext : DbContext
  {
   public DbSet<Movie> Movies { get; set; }
  }
 
}

创建连接字符串并使用SQL Server LocalDB

您刚创建的MovieDBContext类用来连接数据库,并将Movie对象映射到数据库表记录。你可能会问一个问题,如何指定它将连接到那个数据库。通过在应用程序的Web.config文件中添加数据库连接信息来指定连接到那个数据库。

打开应用程序根目录的Web.config文件。(不是View文件夹下的Web.config文件。)打开红色高亮标记的Web.config文件。

ASP.NET MVC4入门教程(四):添加一个模型

Web.config文件中的<connectionStrings>内添加下面的连接字符串。

?
1
2
3
4
<add name="MovieDBContext"
 connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Movies.mdf;Integrated Security=True"
 providerName="System.Data.SqlClient"
/>

下面的例子里显示了部分Web.config文件中所新添加的连接字符串:

?
1
2
3
4
5
6
7
8
9
10
<connectionStrings>
 <add name="DefaultConnection"
  connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-MvcMovie-2012213181139;Integrated Security=true"
  providerName="System.Data.SqlClient"
 />
 <add name="MovieDBContext"
  connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Movies.mdf;Integrated Security=True"
  providerName="System.Data.SqlClient"
 />
</connectionStrings>

为了表示和存储电影数据到数据库中,上面少量的代码和XML是你所需要的一切。

接下来,您将创建一个新的MoviesController类,您可以用它来??展示电影数据,并允许用户创建新的影片列表。