添加模型 (C#)
作者: 里克·安德森
本教程将介绍如何使用 Microsoft Visual Web Developer 2010 Express Service Pack 1 生成 ASP.NET MVC Web 应用程序的基本知识,这是 visual Studio 的免费 Microsoft版本。 在开始之前,请确保已安装下面列出的先决条件。 可以通过单击以下链接来安装所有这些组件: Web 平台安装程序。 或者,可使用以下链接单独安装各个必备软件:
如果使用 Visual Studio 2010 而不是 Visual Web Developer 2010,请单击以下链接安装必备组件: Visual Studio 2010 先决条件。
带有 C# 源代码的 Visual Web 开发人员项目随本主题一起提供。 下载 C# 版本。 如果更喜欢 Visual Basic,请切换到 本教程的 Visual Basic 版本 。
添加模型
在本部分中,你将添加一些类用于管理数据库中的电影。 这些类将是 ASP.NET MVC 应用程序的“模型”部分。
你将使用称为 Entity Framework 的 .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
请参阅 实体框架的工作效率改进。
为了能够引用 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; }
}
}
创建连接字符串并使用 SQL Server Compact
MovieDBContext
创建的类处理连接到数据库的任务,并将对象映射到Movie
数据库记录。 不过,你可能会问的一个问题是如何指定要连接到的数据库。 为此,需要在应用程序的 Web.config 文件中添加连接信息。
打开应用程序根 Web.config 文件。 (不是Views 文件夹中的 Web.config 文件。下图显示了这两个 Web.config 文件;打开以红色圆圈的 Web.config 文件。
将以下连接字符串添加到 <connectionStrings>
Web.config 文件中的元素。
<add name="MovieDBContext"
connectionString="Data Source=|DataDirectory|Movies.sdf"
providerName="System.Data.SqlServerCe.4.0"/>
以下示例显示了 Web.config 文件的一部分,其中添加了新的连接字符串:
<configuration>
<connectionStrings>
<add name="MovieDBContext"
connectionString="Data Source=|DataDirectory|Movies.sdf"
providerName="System.Data.SqlServerCe.4.0"/>
<add name="ApplicationServices"
connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true"
providerName="System.Data.SqlClient" />
</connectionStrings>
此少量的代码和 XML 是为了在数据库中表示和存储电影数据而需要编写的所有内容。
接下来,你将生成一个新 MoviesController
类,该类可用于显示电影数据并允许用户创建新的电影列表。