在本节中,您将添加一些类,用于管理数据库中的电影.这些类将 ASP.NET MVC 应用程序的"模型"部分. 您将使用一种称为实体框架的.NET 框架数据接入技术来定义和使用这些模型的类.实体框架 (通常称作 EF) 支持一个称为代码优先的发展模式.代码首先允许您通过编写简单的类来创建模型对象.(这些也被称为是 POCO 类,从"纯老 CLR 对象.")然后,您可以使上飞从您的类,从而使非常干净和快速开发工作流创建的数据库. 添加模型类 在解决方案资源管理器中,右键…
在这一节你要修改HelloWorldController类要使用的视图模板文件来干净封装生成 HTML 响应到客户端的过程. 您将创建一个使用Razor 视图引擎介绍 ASP.NET MVC 3 的视图模板文件.剃刀基于视图模板具有.cshtml文件扩展名,并提供优雅的方式来创建 HTML 输出使用 C#.剃刀将字符和击键时编写一个视图模板所需的数量降至最低,并使快速流畅的编码工作流. 目前Index方法返回一条消息,是在控制器类中硬编码的字符串.更改Index方法,以返回View对象,如下面的…
你会建造 您将实现一个简单的电影清单应用程序支持创建. 编辑. 搜索和清单数据库中的电影.下面是您将构建的应用程序的两个屏幕截图.它包括显示来自数据库的电影列表的网页: 应用程序还允许您添加. 编辑和删除电影,以及请参见详细个人信息.所有的数据输入方案包括验证,以确保存储在数据库中的数据是正确的. 入门教程 通过运行 Visual Studio 表达 2012年或 Visual Web 开发人员 2010年速成版开始.大部分的屏幕截图在此系列使用 Visual Studio 的表达 2012,但…
在这本部分会将验证逻辑添加到Movie模式,和你会确保验证规则执行任何时候用户试图创建或编辑使用该应用程序的一部电影. 保持事物的干练性 ASP.NET MVC 的核心设计信条之一是 DRY(”Don't Repeat Yourself“,不要重复).ASP.NET MVC 鼓励你只有一次,指定的功能或行为,然后让它无处不在应用程序中反映.这减少了需要编写的代码量,并使你写更少错误倾向和易于维护的代码. ASP.NET MVC 和 Entity Framework Code First 中提供的…
在这一节中,您将使用实体框架代码第一次迁移,迁移到模型类的一些变化,所以该更改应用于数据库. 默认情况下,当您使用实体框架代码优先将自动创建一个数据库,像你那样早些时候在本教程中,代码第一次添加一个表格到数据库,以帮助跟踪数据库的架构是否与它从生成的模型类同步.如果他们不同步,实体框架将引发错误.这使得更容易地在开发时可能发现否则只 (通过模糊错误) 在运行时跟踪问题. 设置代码第一次迁移模型更改 如果您使用的 Visual Studio 2012,双击解决方案资源管理器打开数据库工具中的Mov…
在本节中,您会为电影控制器检查生成的操作方法和视图.然后,您将添加一个自定义的搜索页面. 运行该应用程序,然后浏览到Movies控制器通过将/Movies追加到您的浏览器的地址栏中的 URL.将鼠标指针悬停在编辑链接,看到它链接到的 URL. 在编辑链接是由Html.ActionLink方法在Views\Movies\Index.cshtml视图中生成的: @Html.ActionLink("Edit", "Edit", new { id=item.ID }) Ht…
在本教程的这一部分,您会检查自动生成的Details和Delete方法. 检查详细信息和删除方法 打开Movie控制器并检查的Details的方法. public ActionResult Details(int? id) { if (id == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } Movie movie = db.Movies.Find(id); if (movie == null) { r…
在本节中,将创建一个新的MoviesController类并编写代码来检索电影数据并将其显示在浏览器中使用一个视图模板. 才走出下一步生成应用程序. 用鼠标右键单击控制器文件夹中并创建一个新的 MoviesController控制器.下面的选项不会显示,直到您构建您的应用程序.选择以下选项: 控制器的名称: MoviesController.(这是默认值). 模板: MVC 控制器的读/写操作和视图,使用实体框架. 模型类:电影 (MvcMovie.Models). 数据上下文类: MovieD…
MVC 代表 模型-视图-控制器.MVC 是一个模式用于开发应用程序是很好的架构. 可检验性和易于维护.基于 MVC 的应用程序包含: Models: 类表示应用程序的数据并使用验证逻辑以执行这些数据的业务规则. Views: 您的应用程序使用动态生成 HTML 响应的模板文件. Controllers: 处理传入的浏览器请求的类检索模型数据,然后指定将响应返回到浏览器的视图模板. 我们将涵盖所有这些概念在本系列教程中的,向您展示如何使用它们来构建应用程序. 让我们开始创建一个控制器类.在 的解…
背景 code first起初当修改model后,要持久化至数据库中时,总要把原数据库给删除掉再创建(DropCreateDatabaseIfModelChanges),此时就会产生一个问题,当我们的旧数据库中包含一些测试数据时,当持久化更新后,原数据将全部丢失,故我们可以引入EF的数据迁移功能来完成. 要求 已安装NuGet 过程示例 注:区别在于,我们给Movie新加了一个VipPrice属性. 接下来,我们将开始持久化此model至数据库中(我们现在对数据库表结构进行修改,增加一个VipP…