您的位置:首页 > 数据库

(2)通过脚手架自动生成controller和view ----代码先行/数据库先行

2013-10-24 13:51 369 查看
场景 你要通过你的网站管理动态内容

解决方案

通过使用脚手架自动生成一个controller和多个views 允许用户Create, Read, Update, and Delete(CRUD)数据。通过EntityFramework 的 code-first(代码先行) and database-first (数据库先行)方法。

讨论

在用脚手架搭建contorller和view之前,一个model和DBContext需要被创建。它将定义model存了什么类型的数据。(这是代码先行的方法)

在接下来的例子里。创建的2个类将提供管理一个图书列表的能力。

第一个类包含图书数据的定义,将保存在SQL Express database.

第二个类包含DBContext,它创建book class 的DbSet。

创建model,右键单击model 文件夹。选择添加->class。在filename输入:Book.cs.并且用以下代码替换掉生成的代码。

双击代码全选

创建完Book model 和BookDBContext。我们就可以使用脚手架来搭建controller和view了。

作为开始,右键单击Controller文件夹。并且选择添加->controller

如下图:





依照上图选择模板 :using EntityFramework。

Modelclass 选择刚才我们创建的Book。

DataContext 选择我们的BookDBContext。并且点击“Add”。

这时候我们会发现脚手架已经帮我们创建了一个BookController。发现里边的action都已经帮我们写好了。



译者附:下图是我访问localhost/book/index 创建了一本新书。

我们可以方便的进行增删查改。是不是很方便?





Entity Framework 同样提供能力去构建controller和view 通过一种不同的方法。Database-First 数据库先行。这种方法可以利用现有的数据库生成model。

在大型项目中,在独立的基础上合理运用资源是相当普遍的。一个优秀的前端工程师在数据库设计方面不一定也是一个专家。所以,需要一个DB专家来设计数据库。

在下一个例子里,我们要设计一个数据库先行的model。

在model文件夹点击右键。New->item 。在右边的列表选择ADO.NET实体数据库模型。

命名为BookDBFirstModel.edmx.

现在,是时候建立数据库连接了。

1.选择从数据库生成

2. 点击新建连接按钮

3.默认选择数据源:Microsoft SQLServer (Sql client)

4.服务器名:.SQLEXPRESS

5. 在数据库名里选择MVC自动为上一个事例生成的MvcApplication.Models.BookDBContext。点击确定。

在”将web.config中的实体连接设置另存为“bookEntities”。

选择在数据模型中包含表,视图,存储过程。点击完成。

现在再来看看我们的model文件夹。多了一个BookDBFirstModel.edmx实体。

在使用脚手架之前一定要编译一下解决方案。

右键单击controller文件夹。添加 ,如下图:



Model Class 就填写 Entity Framework 生成的Books。

而Datacontext 则选择刚才我们设定的实体连接设置bookEntities”。

同样创建成功了一个新的controller :BController。这是由Database先行的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: