第二篇博文,最近学习的内容还是回到了正题:ASP.NET MVC5之上。虽然EF学了个一知半解,但是用这点知识,看MVC5的MODEL部分应该还是够了。尽管周末还要恶补一下EF才行。

(一)MVC简述:

  MVC,不外乎视图、控制器、模型。

我想,自学MVC的朋友肯定都已经接触过三层架构。

尽管三层架构和MVC没有两毛钱关系,但是这种分层理念其实是共性的。

我们不用去套MVC和三层架构的关系,

只需要去理解:模型就是取得数据并将数据作为载体传递给视图的部分。

视图可以粗放得理解为HTML,反正就是展示给用户的那部分。

控制器就是调度模型和视图的部分。

  硬是要把三层和MVC扯上关系,那么我觉得,模型部分就是三层架构中的BLL+DAL+MODEL的整合。

总之他们都是要提供一个数据展示给展示给用户的部分、他们都是要从UI里接受数据并加工。

(二)模型部分

  上面说到,模型部分的作用就是为了给视图数据。那么模型部分的实现方式就很多了,可以用原生ado.net 像三层架构一样构建BLL和DAL,也可以用EF,甚至可以用其他ORM框架。总之,要能处理数据,处理数据,处理数据!!!

  原生ADO.NET就不说了,记录一下如何使用VS快速搭建一个简单框架的步骤。

  (1)首先根据实际设计,搭建模型类,这个模型类是数据实体。关键词(实体模型类)

  (2)在VS中,利用搭建基架的方式,根据我们设计的模型类和EF(entity framework)自动生成控制器、数据上下文(DbContext)、视图。关键词(使用VS的基架功能)如果不懂只有百度一下具体操作,这里就不详解了。

  (3)搭建好基架之后,选择数据库初始化策略。

  经历以上三个步骤,VS可以快速给我们搭建一个简单的框架,实现最基本的增、删、改、查的简单网站。大幅减少代码量,对于一些简单功能的项目来说简直是绝了。VS不愧是地球上最屌的IDE……

参考:ASP.NETV MVC5 高级编程 第四章 模型

2017年2月16日-----------乱码新手自学.net 之MVC模型的更多相关文章

  1. 2017年2月22日-----------乱码新手自学.net 之Entity Framework 增删改

    由于我是自学的,没有人教,在网上查资料也查不到个所以然.问大神们也是爱理不理的. 所以这篇随笔纯粹源自于我自己的认识.是否真正正确我也没有把握. 如果有什么错误,请大神们给予指正 ========== ...

  2. 2017年3月14日-----------乱码新手自学.net 之Authorize特性与Forms身份验证(登陆验证、授权小实例)

    有段时间没写博客了,最近工作比较忙,能敲代码的时间也不多. 我一直有一个想法,想给单位免费做点小软件,一切思路都想好了,但是卡在一个非常基础的问题上:登陆与授权. 为此,我看了很多关于微软提供的Ide ...

  3. 2017年2月28日-----------乱码新手自学.net 之特性与验证

    现在看asp.net MVC5自学已经到了第六章:数据注解与验证. 话得从以前看MVC music store(音乐商店项目)的源码说起, 最初看music store源码完全就是一脸懵逼,整个程序, ...

  4. 2017年4月16日 一周AnswerOpenCV佳作赏析

    2017年4月16日 一周AnswerOpenCV佳作赏析 1.HelloHow to smooth edge of text in binary image, based on threshold. ...

  5. 2017年2月16日 分析下为什么spring 整合mybatis后为啥用不上session缓存

    因为一直用spring整合了mybatis,所以很少用到mybatis的session缓存. 习惯是本地缓存自己用map写或者引入第三方的本地缓存框架ehcache,Guava 所以提出来纠结下 实验 ...

  6. 2017年12月16日 ASP.NET基本用法

    ASP.NET初级添加 利用css代码跟ASP.NET还有Javascript原生,LinQ来写增跟展示数据 首先介绍一个非常好用的控件,灵活并且循环展示数据库里面的数据 <asp:Repeat ...

  7. outlook 通讯录分类--2017年1月16日--对联系人分类管理

    outlook功能多,复杂,导致打开界面就晕,通讯录分类 问:在Outlook 中,随着联系人数量的增多,亲朋好友.同事.客户的信息混杂在一起,每次发邮件都要用很长时间才能从联系人列表中找到需要的人. ...

  8. [转载]Ubuntu17.04(Zesty Zapus)路线图发布:2017年4月13日发布

    Canonical今天公布了Ubuntu 17.04(Zesty Zapus)操作系统的发布路线图,该版本于今年10月24日上线启动,toolchain已经上传且首个daily ISO镜像已经生成.面 ...

  9. 【2017年9月10日更新】ABP配套代码生成器(ABP Code Generator)帮助文档,实现快速开发

    ABP代码生成器介绍 ABP Code Generator 针对abp这个框架做了一个代码生成器,功能强大.分为两大功能点,一个是数据层,一个是视图层. 数据服务层:通过它,可以实现表设计.领域层初始 ...

随机推荐

  1. 【转】50条大牛C++编程开发学习建议

    每个从事C++开发的朋友相信都能给后来者一些建议,但是真正为此进行大致总结的很少.本文就给出了网上流传的对C++编程开发学习的50条建议,总结的还是相当不错的,编程学习者(不仅限于C++学习者)如果真 ...

  2. 交换Ctrl和Caps Lock键

    由于使用vim的缘故,就把Ctrl和Caps Lock键交换了,在ubuntu系统下使用系统设置可以很简单地进行全局替换. 在ubuntu下习惯了之后在window下就经常按错...后来决定也把win ...

  3. 分页。php 引用代码

    <?php /** file: page.class.php 完美分页类 Page */ class Page { private $total; //数据表中总记录数 private $lis ...

  4. javascript-变量-作用域

    1.var message;   ----这样定义的变量值为undefined 2.去掉var则为全局变量--message = “100”: 3.function fun(){ var messag ...

  5. numpy 安装

    sudo apt-get install python-scipy sudo apt-get install python-numpy sudo apt-get install python-matp ...

  6. div+CSS实现段落首行缩进两个字符

    段落前面空两个字的距离,不要再使用空格了,用CSS实现段落首缩进两个字符.应该使用首行缩进text-indent.text-indent可以使得容器内首行缩进一定单位.比如中文段落一般每段前空两个汉字 ...

  7. MySQL要导出成excel的方法

    MySQL 要导出成 excel 文件很简单,执行类似这样的命令:   select * from 某个表 into outfile  'd:/文件名.xls';   上述命令你在服务器上执行,就导在 ...

  8. iOS 之 static

    函数体内的static变量的作用范围是该函数体,在内存中只分配一次,下次调用时仍维持上次的值. 模块内的static全局变量可以被模块内的所有函数访问,但是不能被模块外的其它函数访问. 模块内的sta ...

  9. 404 error on preview ... "buffer_id(29) is not valid (closed or unsupported file format)"

    利用sublime text2的插件OmniMarkupPreview进行md文件预览时,出现如下错误 "Error: 404 Not Found Sorry, the requested ...

  10. Java div 使用说明

    1. 置于底部 position:absolute; bottom:0;