zoukankan      html  css  js  c++  java
  • (2)通过脚手架自动生成controller和view ----代码先行/数据库先行

    场景 你要通过你的网站管理动态内容

    解决方案

    通过使用脚手架自动生成一个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.并且用以下代码替换掉生成的代码。

    双击代码全选
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    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先行的。

    年轻不是你玩的理由,而是你奋斗的资本
  • 相关阅读:
    bash 笔记
    lvs: linux virtual server
    学习html第一天
    学习c语言的第14天
    c语言学习的第13天2
    c语言学习的第13天1
    c语言学习的第12天
    c语言学习的第11天 指针
    移动端点击延迟300毫秒----FastClick用法
    H5移动端复制功能实现
  • 原文地址:https://www.cnblogs.com/lyaxx1314/p/3385941.html
Copyright © 2011-2022 走看看