asp.net mvc程序设计教程第三版课后答案,

  asp.net mvc程序设计教程第三版课后答案,

  在本节中,我们将添加一些类来管理数据库中的电影。这些类将成为我们MVC应用程序的“模型”部分。

  我们将使用。NET框架称为“实体框架”来定义这些模型类并使用它们来操作。实体框架(通常简称为“EF”)支持一种叫做“代码优先”的开发范式。代码优先允许您通过编写一些简单的类来创建模型对象。可以通过访问这些类来访问数据库,这是一种非常方便快捷的开发模式。

  4.1使用NuGet安装EFCodeFirst

  我们可以使用NuGet包管理器(安装ASP.NET MVC 3时会自动安装)将EFCodeFirst类库添加到我们的MvcMovie项目中。这个类库使我们能够直接使用代码优先。点击“工具”菜单下“库包管理器”子菜单下的“添加库包引用”菜单选项,如图4-1所示。

  图4-1使用NuGet包管理器

  点击菜单选项“添加库包引用”,会弹出一个标题为“添加库包引用”的对话框,如图4-2所示。

  图4-2“添加库包引用”对话框

  默认情况下,左侧的“全部”选项处于选中状态。因为没有安装任何软件包,所以“未找到任何项目”会显示在右侧面板中。点击左侧面板中的“online”选项,NuGet Package Manager将检索服务器上所有当前可用的包,如图4-3所示。

  图4-3获取软件包管理器正在检索软件包信息

  目前服务器上有数百个可用的包,现在我们只关注EFCodeFirst包。在右上角的搜索输入框中输入“EFCode”。在搜索结果中,选择EFCodeFirst包,点击Install按钮安装该包,如图4-4所示。

  图4-4选择EFCodeFirst包并安装它

  点击安装按钮后,会弹出一个许可接受窗口,如图4-5所示。在此窗口中,您必须单击“我接受”按钮接受许可条款,然后安装才能继续。

  图4-5许可接受窗口

  安装完成后,单击关闭按钮。我们的MvcMovie项目将自动加载EntityFramework程序集,它包含EFCodeFirst类库。

  图4-6实体框架组件在安装后自动加载。

  4.2添加模型类

  在解决方案资源管理器中,右击Models文件夹,点击“添加”菜单下的“类”,如图4-7所示。

  图4-7添加模型类

  点击“类”菜单项后,会弹出“添加新项”对话框,其中类名命名为“电影”,如图4-8所示。

  图4-8在“添加新项目”对话框中命名类

  然后单击Add按钮,注意在解决方案资源管理器的Models文件夹下添加了一个Movie.cs类定义文件,并且该文件是打开的,如图4-9所示。

  图4-9 Movie.cs类定义文件已添加并打开。

  将以下五个属性附加到Movie.cs文件中。

  公开课电影

  public int ID { get设置;}

  公共字符串标题{ get设置;}

  公共日期时间发布日期{ get设置;}

  公共字符串类型{ get设置;}

  公共小数价格{ get设置;}

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

  在同一个Movie.cs文件中,追加MovieDBContext类,如下所示。

  公共类movied context:db context

  public DbSet Movie Movies { get设置;}

  movieDBContext类表示实体框架中电影数据库的上下文对象,用于处理数据访问和更新。MovieDBContext对象继承了实体框架中的DBContext基类。要引用DbContext类,需要将下面显示的using语句附加到Movie.cs文件的文件头。

  使用系统。数据。实体;

  完整的Movie.cs文件中的代码如清单4-1所示。

  清单4-1完整的Movie.cs文件

  使用系统;

  使用系统。数据。实体;

  命名空间MvcMovie。模型

  公开课电影

  public int ID { get设置;}

  公共字符串标题{ get设置;}

  公共日期时间发布日期{ get设置;}

  公共字符串类型{ get设置;}

  公共小数价格{ get设置;}

  公共类movied context:db context

  public DbSet Movie Movies { get设置;}

  如果您想从数据库中访问数据,必须编写如上所示的代码。在下一节中,我们将创建一个新的MoviesController类来显示数据库中的数据,并允许用户创建一个新的电影列表。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: