第二篇博文,最近学习的内容还是回到了正题: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. CSS重设(reset)

    在当今网页设计/开发实践中,使用CSS来为语义化的(X)HTML标记添加样式风格是重要的关键.在设计师们的梦想中都存在着这样的一个完美世界:所有的浏览器都能够理解和适用多有CSS规则,并且呈现相同的视 ...

  2. UE4上传图片到服务器

    客户端代码: void AHttpTestCharacter::MyHttpCall(FString Url){ // TexturePath contains the local file full ...

  3. BZOJ 3101: N皇后

    3101: N皇后 Time Limit: 10 Sec  Memory Limit: 128 MBSec  Special JudgeSubmit: 178  Solved: 94[Submit][ ...

  4. 3)Javascript设计模式:Observer模式

    Observer模式 var Observer = (function() { var instance = null; function Observe() { this.events = {} } ...

  5. 数据可视化-OmniGraffle软件

    OmniGraffle Pro for mac破解版是一款运行在MAC OS平台上的思维导图流程图制作软件,通过思维导图软件(OmniGraffle Pro MAC)帮你组织头脑中思考的信息,组织头脑 ...

  6. 那些年我们一起改过的bug

    ORA-01861: 文字与格式字符串不匹配 ORA-00936: 缺失表达式 ORA-01810 格式代码出现两次 ORA-01722: 无效数字 无效的列索引

  7. form 表单 设置编码和页面编码

    <HTML> <HEAD> <meta http-equiv=content-type content="text/html; charset=UTF-8&qu ...

  8. dev使用3

    http://www.cnblogs.com/yuerdongni/archive/2012/09/08/2676748.html http://www.cnblogs.com/yuerdongni/ ...

  9. Delphi拷贝目录(含子目录)的方法

    要实现目录级的拷贝,可以利用Windows API函数ShFileOperation( ),其函数声明如下: WINSHELLAPI int WINAPI SHFileOperation( LPSHF ...

  10. PosixIO

    1.打开文件 int open(const char *pathname, int flags); int open(const char *pathname, int flags, mode_t m ...