在本节中,您将添加一些类,用于管理数据库中的电影。这些类将 ASP.NET MVC 应用程序的"模型"部分。
您将使用一种称为实体框架的.NET 框架数据接入技术来定义和使用这些模型的类。实体框架 (通常称作 EF) 支持一个称为代码优先的发展模式。代码首先允许您通过编写简单的类来创建模型对象。(这些也被称为是 POCO 类,从"纯老 CLR 对象。")然后,您可以使上飞从您的类,从而使非常干净和快速开发工作流创建的数据库。
在解决方案资源管理器中,右键单击模型文件夹,选择添加,,然后选择类.
输入类名"的电影"。
将下面的五个属性添加到Movie
类:
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
类:
public class MovieDBContext : DbContext { public DbSet<Movie> Movies { get; set; } }
MovieDBContext
类表示实体框架与处理获取、 存储和更新数据库中的Movie
类实例的数据库上下文的电影。MovieDBContext
从实体框架提供的DbContext
基类派生。
为了能够引用DbContext
和DbSet
,您需要将以下using
语句添加在文件的顶部:
using System.Data.Entity;
完整的Movie.cs文件如下所示。(几个使用语句不需要已被删除。)
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; } } }
您创建的MovieDBContext
类处理连接到数据库和Movie
对象映射到数据库记录的任务。你可能会问,一个问题是如何指定它将连接到的数据库。通过在应用程序的Web.config文件中添加连接信息,你会这样做。
打开应用程序根Web.config文件。(不Web.config文件在视图文件夹中。打开边框为红色的Web.config文件。
将下面的连接字符串添加到Web.config文件中的<connectionStrings>
元素。
<add name="MovieDBContext" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Movies.mdf;Integrated Security=True" providerName="System.Data.SqlClient" />
下面的示例演示Web.config文件的一部分,以添加新的连接字符串:
<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
类,您可以使用来显示电影数据并允许用户创建新的电影列表。