添加新模型

作者 :Rick Anderson

注意

此处使用最新版本的 Visual Studio 提供了本教程的更新版本。 新教程使用 ASP.NET Core MVC,这比本教程提供了许多改进。

本教程介绍具有控制器和视图的 ASP.NET Core MVC。 Razor Pages 是 ASP.NET Core 中的一个新替代项,它是一种基于页面的编程模型,可简化 Web UI 的生成并提高效率。 建议先尝试 Razor 页面教程,再使用 MVC 版本。 Razor 页面教程:

  • 易于关注。
  • 涵盖更多功能。
  • 是新应用开发的首选方法。

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

你将使用称为实体框架的.NET Framework数据访问技术来定义和使用这些模型类。 实体框架 (通常称为 EF) 支持名为 Code First 的开发范例。 Code First 允许通过编写简单类来创建模型对象。 (这些也称为 POCO 类,来自“普通旧 CLR 对象”。) 然后,你可以从课堂动态创建数据库,从而实现非常干净和快速的开发工作流。 如果需要先创建数据库,仍可按照本教程了解 MVC 和 EF 应用开发。 然后,可以按照 Tom Fizmakens ASP.NET 基架 教程进行操作,其中介绍了数据库优先方法。

添加模型类

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

显示“解决方案资源管理器”窗口的屏幕截图。“模型”文件夹右键单击菜单和“添加”子菜单已打开。已选择类。

输入 名称“Movie”。

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

using System;

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; }
    }
}

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

注意:若要使用 System.Data.Entity 和相关类,需要安装 Entity Framework NuGet 包。 有关进一步说明,请单击此链接。

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

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类表示 Entity Framework 电影数据库上下文,该上下文处理数据库中的类实例的提取、存储和更新MovieMovieDBContext派生自DbContext实体框架提供的基类。

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

using System.Data.Entity;

可以通过手动添加 using 语句来执行此操作,也可以将鼠标悬停在红色波浪线上,单击 Show potential fixes 并单击 using System.Data.Entity;

显示“显示潜在修补程序”菜单的屏幕截图。已选择“使用系统数据实体”,并显示“找不到”警告。

注意:已删除多个未 using 使用的语句。 Visual Studio 会将未使用的依赖项显示为灰色。 可以通过将鼠标悬停在灰色依赖项上来删除未使用的依赖项,单击 Show potential fixes 并单击“ 删除未使用的 Using”。

显示“显示潜在修补程序”菜单的屏幕截图。已选择“删除不必要的使用”。

我们终于在 MVC) 中添加了 (M 的模型。 在下一部分中,你将使用数据库连接字符串。