【译】MVC3 20个秘方-(2)通过脚手架自动生成controller和view ----代码先行/数据库先行
2011-11-22 18:22
543 查看
场景
你要通过你的网站管理动态内容
解决方案
通过使用脚手架自动生成一个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先行的。
本人做了一个小demo。需要的朋友可以直接点击下载查看。
另请参阅
ADO.NET Entity Framework Overview
你要通过你的网站管理动态内容
解决方案
通过使用脚手架自动生成一个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.并且用以下代码替换掉生成的代码。
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Data.Entity; namespace MvcApplication.Models //这里用你自己的命名空间 { public class Book { public int ID { get; set; } public string Title { get; set; } public string Isbn { get; set; } public string Summary { get; set; } public string Author { get; set; } public string Thumbnail { get; set; } public double Price { get; set; } public DateTime Published { get; set; } } public class BookDBContext : DbContext { public DbSet<Book> Books { get; set; } } }
创建完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先行的。
本人做了一个小demo。需要的朋友可以直接点击下载查看。
另请参阅
ADO.NET Entity Framework Overview
相关文章推荐
- (2)通过脚手架自动生成controller和view ----代码先行/数据库先行
- (2)通过脚手架自动生成controller和view ----代码先行/数据库先行
- Grails3.3框架 脚手架自动生成Controller和View 标准写法
- java自动生成数据库代码
- 通过 数据库表 自动生成 实体类. 推荐
- iOS开发点滴 - 如何通过Segue写代码传递数据从一个ViewController到另一个ViewController(Swift代码)
- Eclipse(LUNA4.4.2)配置hibernate(4.3.8)连接数据库并自动生成代码
- Android 通过Java代码生成创建界面。动态生成View,动态设置View属性。addRules详解
- C#分析数据库结构,使用XSL模板自动生成代码
- Hibernate--通过代码生成数据库
- 扩展VS2010插件-----通过UML类图,自动生成相关代码
- C#分析数据库结构,使用XSL模板自动生成代码
- DAL是通过代码生成工具自动生成的XSD强类型dataset怎么样把DAL和BLL都独立成项目。
- Android中实现自动生成布局View的初始化代码方法
- 通过eclipse mybatis generater代码生成插件自动生成代码
- Intellij IDEA springboot maven 配置mybatis-generator,自动从数据库中生成代码
- Android学习笔记_31_通过后台代码生成View对象以及动态加载XML布局文件到LinearLayout
- C#分析数据库结构,使用XSL模板自动生成代码 - 清清月儿 .NET万花筒 Asp.net技术 Asp.net教程 Asp.net源码 Asp.net基础 Asp.net控件 Asp.net入门 - CSDNBlog
- Avro通过schema自动生成java代码
- SSM框架通过mybatis-generator自动生成代码