快捷搜索:  as  2018  FtCWSyGV  С˵  test  xxx  Ψһ  w3viyKQx

澳门新葡萄app下载:【ASP.NET MVC 5】七、从控制器访问数据模型示例



在本节中,您将创建一个新的MoviesController类,并在这个Controller类里编写代码来取得片子数据,并应用视图模板将数据展示在浏览器里。

在开始下一步前,先Build一下利用法度榜样(天生利用法度榜样)(确保利用法度榜样编译没有问题)

在办理规划上,用鼠标右键单击Controller文件夹,点击新增,再选择Contr澳门新葡萄app下载oller。

在Scaffold新增对话框,选择MVC 5Controller with views, using Entity Framework, 点击新增。

· 节制器(Controller)名称输入: MoviesController.

· 模型类(Model class)选择: Movie (MvcMovie.Models) .

· 数据高低文类(Data context class)选择:MovieDBContext (MvcMovie.Models)

下图显示了完成的对话框。

单击添加(假如你获得一个差错,则很可能增添节制器前,没有天生该利用法度榜样)。Visual Studio Express 会创建以下文件和文件夹:

· 项目节制器文件夹中的MoviesController.cs文件。

· 项目视图文件夹下的 Movie文件夹。

· 在新的Views\Movies文件夹中创建Create.cshtml、 Delete.cshtml、 Details.cshtml、 Edit.cshtml和Index.cshtml 文件。

Visual Studio自动创建 CRUD(创建、 读取、 更新和删除) 操作措施,和相关的视图文件(CRUD 自动创建的操作措施和视图文件被称为 scaffolding)。 现在您有了可以创建、列表、 编辑和删除片子Entity 所有的Web功能了。

运行利用法度榜样,经由过程将/Movies追加到浏览器地址栏 URL的后面,从而浏览Movies节制器。由于利用法度榜样依附于默认路由 ( App_Start\RouteConfig.cs 文件中的定义),浏览器哀求http://localhost澳门新葡萄app下载:xxxxx/Movies将被路由到Movies节制器默认的Index 操作措施。换句话说,浏览器哀求http://localhost:xxxxx/Movies等同于浏览器哀求http://localhost:xxxxx/Movies/Index。由于您还没有添加任何内容,以是结果是一个空的片子列表。

创建片子

点击Create New链接。输入有关片子的一些具体信息,然后澳门新葡萄app下载单击Create按钮。

留意:您可能无法在“价格”字段中输入小数点或逗号。要支持非英语说话情况,小数点用逗号(","),和非美国英语的日期款式的jQuery验证,你必须包括globalize.js,和你的详细文化/ globalize.cultures.js的文件(从https://github.com/jquery/globalize)和JavaScript应用Globalize.parseFloat的。在接下来的教程中,我将展示若何做到这一点。现在,只需输入整数,如10。

单击Create按钮将使得窗体提交至办事器,同时片子信息也会保存到数据库里,然后您会被重定向到/Movies 的URL,您可以在列表中看到刚刚创建的新片子。

创建一些更多的片子数据(movie entries)。 同时也可以考试测验点击编辑、具体信息和删除功能的链接。

看一下天生的代码

打开Controllers\MoviesController.cs文件,并找到天生的Index措施。一部分片子节制器和Index措施如下所示。

public class MoviesController : Controller { private MovieDBContext db = new MovieDBContext(); // GET: /Movies/ public ActionResult Index() { return

View(db.Movies.ToList());

}

由于Model工具是强类型的 (是IEnumerable工具),以是在轮回中的每个item工具的类型是Movie类型。好处之一是,这意味着您可以在代码编译时进行反省,同时在代码编辑器中支持加倍周全的智能感知:

应用SQL Server LocalDB

Entity Framework Code First(代码优先),假如检测到不存在一个数据库连接字符串指向了Movies数据库,会自动的创建数据库。在App_Data文件夹中找一下,您可以验证它已经被创建了。假如您看不到Movies.mdf文件,请在办理规划资本治理器对象栏上,单击显示所有文件按钮,单击刷新按钮,然后展开App_Data文件夹。

双击Movies.mdf打开数据库资本治理器(SERVER EXPLORER),然后展开表文件夹(Tables) 以查看片子表。

留意:ID左右的钥匙图标。默认环境下,EF将创建一个名为ID的主键。欲懂得更多EF和MVC信息,请参阅Tom Dykstra's的澳门新葡萄app下载优秀教程MVC and EF

在Movies表上单击鼠标右键,并请选择显示表数据(Show Table Data)看您所创建的数据。

在Movies表上单击鼠标右键,并请选择打开表定义(Open Table Definition), 您将看到Entity Framework Code First创建的表布局。

留意事变: Movies表映射到Movie类的架构(schema)若何你前面创建的。Entity Framework Code First首先自动为您创造了这个架构(schema)基于Movie class。当您完成后,经由过程右击MovieDBContext,并选择关闭连接。 (假如你不关闭连接,下一次运行项目,你可能会获得一个差错)。

现在,您可以在这个简单列表页面里:显示、编辑、更新、删除数据库里的数据了。鄙人一次的教程中,我们会继承看看s澳门新葡萄app下载caffolded自动天生的其它代码。并添加一个SearchIndex措施和SearchIndex视图,使您可以在数据库中搜索片子了。更多关于Entity Framework with MVC, see Creating an Entity Framework Data Model for an ASP.NET MVC Application.

您可能还会对下面的文章感兴趣: