添加模型 (2012)
注意
此处提供了本教程的更新版本,它使用 ASP.NET MVC 5 和 Visual Studio 2013。 它更安全,更易于遵循并演示更多功能。
在本部分中,你将添加一些用于管理数据库中电影的类。 这些类将是 ASP.NET MVC 应用程序的“模型”部分。
你将使用称为实体框架的.NET Framework数据访问技术来定义和使用这些模型类。 实体框架 (通常称为 EF) 支持名为 Code First 的开发范例。 Code First 允许通过编写简单类来创建模型对象。 (这些也称为 POCO 类,来自“普通旧 CLR 对象”。) 然后,可以从类动态创建数据库,从而实现非常干净和快速的开发工作流。
添加模型类
在“解决方案资源管理器”中,右键单击“模型”文件夹,选择“添加”,然后选择“类”。
输入 类 名“Movie”。
将以下五个属性添加到 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
表示 Entity Framework 电影数据库上下文,该上下文处理数据库中的类实例的提取、存储和更新 Movie
。 MovieDBContext
派生自 DbContext
Entity Framework 提供的基类。
为了能够引用 DbContext
和 DbSet
,需要在文件顶部添加以下 using
语句:
using System.Data.Entity;
完整的 Movie.cs 文件如下所示。 (已删除多个不需要的 using 语句。)
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 文件。 (不是“视图”文件夹中的Web.config文件。) 打开红色轮廓的Web.config文件。
将以下连接字符串添加到 <connectionStrings>
Web.config 文件中的 元素。
<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
类,该类可用于显示电影数据,并允许用户创建新的电影列表。