添加模型 (VB)

作者: 里克·安德森

本教程将介绍如何使用 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 先决条件

本主题随附了具有 VB.NET 源代码的 Visual Web 开发人员项目。 下载 VB.NET 版本。 如果需要 C#,请切换到 本教程的 C# 版本

添加模型

在本部分中,你将添加一些类用于管理数据库中的电影。 这些类将是 ASP.NET MVC 应用程序的“模型”部分。

你将使用称为 Entity Framework 的 .NET Framework 数据访问技术来定义和使用这些模型类。 实体框架(通常称为 EF)支持名为 Code First 的开发范例。 Code First 允许通过编写简单类来创建模型对象。 (这些也称为 POCO 类,来自“普通的 CLR 对象”。然后,可以从类动态创建数据库,从而实现非常干净和快速的开发工作流。

添加模型类

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

显示解决方案资源管理器窗口的屏幕截图。在“模型”右键单击菜单中选择了“添加”,并在子菜单中选择“类”。

将类命名为“Movie”。

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

Public Class Movie 
        Public Property ID() As Integer 
        Public Property Title() As String 
        Public Property ReleaseDate() As Date 
        Public Property Genre() As String 
        Public Property Price() As Decimal 
End Class

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

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

Public Class MovieDBContext
    Inherits DbContext
    Public Property Movies() As DbSet(Of Movie)
End Class

MovieDBContext 类表示 Entity Framework 电影数据库上下文,该上下文处理数据库中的提取、存储和更新 Movie 类实例。 派 MovieDBContext 生自 DbContext Entity Framework 提供的基类。 有关详细信息 DbContextDbSet请参阅 实体框架的工作效率改进。

为了能够引用 DbContextDbSet需要在文件顶部添加以下 imports 语句:

Imports System.Data.Entity

完整的Movie.vb文件如下所示。

Imports System.Data.Entity

Public Class Movie
        Public Property ID() As Integer
        Public Property Title() As String
        Public Property ReleaseDate() As Date
        Public Property Genre() As String
        Public Property Price() As Decimal
End Class

Public Class MovieDBContext
    Inherits DbContext
    Public Property Movies() As DbSet(Of Movie)
End Class

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

MovieDBContext创建的类处理连接到数据库的任务,并将对象映射到Movie数据库记录。 不过,你可能会问的一个问题是如何指定要连接到的数据库。 为此,需要在应用程序的 Web.config 文件中添加连接信息

打开应用程序根 Web.config 文件。 (不是Views 文件夹中的 Web.config 文件。下图显示了这两个 Web.config 文件;打开以红色圆圈的 Web.config 文件。

显示解决方案资源管理器窗口的屏幕截图。Web 点配置以红色圆圈。

将以下连接字符串添加到 <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 类,该类可用于显示电影数据并允许用户创建新的电影列表。