zoukankan      html  css  js  c++  java
  • 学习《ASP.NET MVC5高级编程》——基架

    基架——代码生成的模板。我姑且这么去定义它,在我学习微软向编程之前从未听说过,比如php代码,大部分情况下是我用vim去手写而成,重复使用的代码需要复制粘贴,即使后来我在使用eclipse这样的IDE书写javaee网站时候,大部分情况下也需要自己编程实现crud基本操作,这一次研究asp.net mvc时我惊奇的发现visual studio2013的强大功能:利用“基架”功能:

    实践:新建好一个利用基架的Controller,见证强大的基架

    第一步,新建一个MVC5项目

    打开visual studio 2015,开始栏目下点击新建项目:

    左边选择Visual C#下的Web,名称为“MusicStore”=》确定即可

    接下来弹出选择MusicStore的开发类型:MVC,勾选添加单元测试。

    点击确定进入项目:

    第二步,新增一个music类

    在资源方案管理器MusicStore下,右击Models目录=》添加=》类=》命名“MusicModel”,编辑这个C#文件代码如下:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    
    namespace MusicStore.Models
    {
        public class MusicModel
        {
            public int Id{ get; set; }    //这一行必须,主键
            public String Name { get; set; }
            public String Album { get; set; }
            public String Artist { get; set; }
        }
    }

    重要:右击“MusicStore”项目,重新生成!

    第三步:新建基架的Controller

    右击Controllers目录,添加=》控制器:

    选择最后一个(如图),点击添加按钮。

    如上图修改,模型下拉选择刚才的MusicModel类,而数据上下文最好新建一个,点击右侧按钮如下:

    命名为MusicDB=》添加=》添加

    完成后会发现Views/MusicManage会多了CRUD操作的视图文件,同时在Controller中自动生成了对应的方法,运行一下代码

    浏览器地址后面添加类地址:”/MusicManage/“默认会跑主页去

    (在这里,如果提示数据库无法连接,请先查看web.config文件的配置信息,连接字符窜修改成当前系统中可用的数据库,我修改的是LocalDBv11.0)

    整个页面空空如也,因为没有数据,我们点击左上create new创建一条数据,可以看到对应的edit,delete,detail

    说明整个crud操作都实现了,并且每一条数据都是model映射,遵从MusicModel属性

    这就是强大的基架功能!

    原理:ASP.NET MVC中的基架可以为应用程序创建,读取,更新和删除(CRUD)功能生成所需的样板代码。基架模板检测模型类的定义,然后生成控制器以及与该控制器关联的视图,有些情况下还会生成数据访问类。基架知道如何命名控制器、命名视图以及每个组件需要执行什么代码,也知道在应用程序中如何放置这些项以使应用程序正常工作。

    利用基架可以为应用程序开发节约时间。基架只有在允许运行的时候才会运行,所以不必担心代码生成器会覆盖对输出文件的修改。

    介绍常用的基架模板:

    1.MVC5 Controller——Empty

    添加一个指定控制器,自带Index,无视图生成。

    2.MVC5 Controller with read/write Actions

    添加一个指定控制器,自带Index,details,create,edit和delete,无视图。

    3.Web API2 API Controller Scaffolders

    用于Web API以后再来唠叨

    4.MVC5 Controller with Views,Using Entity Framework

    这个最牛逼,生成一个完整的CRUD应用。

    关于这个如何使用:第一步需要为基架提供一个模型类(可以先写一个数据模型Model),基架会检查选取数据模型的所有属性,然后利用这些信息来创建控制器,视图和数据访问代码。

    为了生成数据访问,还需要一个数据上下文对象的名称。可以指定一个数据上下文也可以新建一个。

    什么是数据上下文?

    要说明这个问题,必须先了解实体框架。

    Entity Framework(实体框架)用于数据库关系对象映射可以明确如何把.NET对象存入数据库,以及使用LINQ语句操作数据库。

    EF支持数据库优先,模型优先,以及代码优先,MVC基架采用了代码优先的机制

    代码优先:在不创建数据库对象前,向sql server中存储或检索信息。

    什么是数据库上下文文件,请看刚刚我们新建的MusicDB这个就是数据库上下文文件,查看vs2015为我们生成的上下文:

    using System;
    using System.Collections.Generic;
    using System.Data.Entity;
    using System.Linq;
    using System.Web;
    
    namespace MusicStore.Models
    {
        public class MusicDB : DbContext
        {
            public MusicDB() : base("name=MusicDB")
            {
            }
    
            public System.Data.Entity.DbSet MusicModels { get; set; }
        }
    }

    这个MusicDB继承自DbContext实体框架

  • 相关阅读:
    Zabbix5 Frame 嵌套
    Zabbix5 对接 SAML 协议 SSO
    CentOS7 安装 Nexus
    CentOS7 安装 SonarQube
    GitLab 后台修改用户密码
    GitLab 查看版本号
    GitLab Admin Area 500 Error
    Linux 安装 PostgreSQL
    Liger ui grid 参数
    vue.js 是一个怪东西
  • 原文地址:https://www.cnblogs.com/devilyouwei/p/6336759.html
Copyright © 2011-2022 走看看