2009年發行ASP.NET MVC 1.0版

2010年發行ASP.NET MVC 2.0版,VS2010

2011年發行ASP.NET MVC 3.0版+EF4,需要.Net4.0支持,VS2011

2012年發行ASP.NET MVC 4.0版+EF5,需要.Net4.0支持,VS2012

2013年發行ASP.NET MVC 5.0版+EF6,需要.Net4.5支持,VS2013

2015年發行ASP.NET MVC 6.0版+EF7,需要.Net5.0支持,VS2015

ASP.NET 5.0      将改名为  ASP.NET Core 1.0

ASP.NET MVC 6     将改名为  ASP.NET MVC Core 1.0

Entity Framework 7.0    将改名为  Entity Framework Core 1.0

.NET新的跨平台版本将命名为.NET Core 1.0

MVC3

支持多视图引擎 
在 ASP.NET MVC3 中,增加视图的对话框中允许你选择你希望的视图引擎,在新建项目对话框中,你可以指定项目默认的视图引擎,可以选择 WebForm,Razor,或者开源的视图引擎,例如:Spark, NHaml, 或者 NDjango.

控制器的改进 
全局的 Action 过滤器 
有的时候你希望能够在在一个 Action 方法执行之前或者执行之后执行一些处理逻辑,在 ASP.NET MVC2 中,提供了 Action 过滤器,允许对特定控制器的 Action 方法进行处理,实际上,有时候你希望对所有的 Action 都进行类似的处理,MVC3 允许你将过滤器加入到 GlobalFilters 集合中来创建全局的过滤器.

新的 ViewBag 属性 
MVC2 中的控制器支持 ViewData 属性,允许通过后绑定的字典将数据传送给视图模板,在 MVC3 中,你可以通过 ViewBag 来更加简单的完成。例如,对于 ViewData["Message"] = "text",你可以通过 ViewBag.Message = "text" 来完成。你不需要通过类来定义任何强类型的属性,因为这是动态属性,在内部,ViewBag 属性以名-值对的形式保存在 ViewData 字典中。注意,在许多预发布版本中,这个属性被称为 ViewModel。

新的 ActionResult 类型 
下面的 ActionResult 类型在 MVC3 中是新增的或者被扩展的。

JavaScript 和 Ajax 改进 
默认情况下,在 MVC3 中,Ajax 和验证使用不引人注目的 unobtrusive 的 JavaScript 方式。unobtrusive 不会在 HTML 中插入行内的 JavaScript ,这使得 HTML 更加精简和更少干扰,也使得更加容易被替换和定制 JavaScript 库,在 MVC3 中,验证助手默认使用 jQuery.Validate 插件完成,如果你希望使用 MVC2 的行为,你可以在 web.config 中通过配置来关闭 unobtrusive .

默认启用了客户端验证 
在早先版本的 MVC 中,你需要在视图中显式调用 Html.EnableClientValidation 方法来启用客户端验证。在 MVC3 中,已经不再需要了,因为默认就会启用客户端验证。可以在 web.config 中关闭。

为了使得客户端验证工作,你仍然需要在网站中加入对 jQuery 和 jQuery.Validation 库的引用,你可以在自己的网站中提供,或者使用 Microsoft 或者 Google 的 CDN 服务器。

远程验证 
ASP.NET 3 通过一个新的标签 RemoteAttribute 对 jQuery Validation 插件的远程验证提供支持。这允许客户端的验证库自动调用一个你定义在服务器上的自定义的方法来完成只能在服务器上完成的验证逻辑。

在下面的例子中,Remote 标签指定了通过一个定义在 UsersController 中名为 UserNameAvailable 的方法来验证用户名字段。

    • Razor 的语法简单且清晰,只需要最小化的输入
    • Razor 容易学习,语法类似于 C# 和 VB
    • Visual Studio 对于 Razor 提供了智能提示和语法着色
    • Razor 视图不需要允许程序或者启动 Web 服务器就可以进行测试
    • @model 用来指定传到视图的 Model 类型
    • @* * 注释语法
    • 对于整个站点可以一次性设定默认项目,例如布局。
    • Html.Raw 方法提供了没有进行 HTML 编码的输出
    • 支持在多个视图之间共享代码 ( _viewstart.cshtml 或者 _viewstart.vbhtml )
    • Chart. 生成图表
    • WebGrid, 生成数据表格,支持完整的分页和排序
    • Crypto,使用 Hash 算法来创建 Hash 和加盐的口令
    • WebImage, 生成图片
    • WebMail, 发送电子邮件
    • HttpNotFoundResult. 向客户端返回 404 HTTP 状态.
    • RedirectResult. 基于一个布尔型的参数,返回一个临时的重定向 (HTTP 302 status code) 或者持久的重定向 (HTTP 301 status code), 结合这个改进,, Controller 提供了三个方法来支持持久的重定向: RedirectPermanent, RedirectToRoutePermanent, 和 RedirectToActionPermanent. 这些方法返回一个 Permanent 属性为真的 RedirectResult 对象实例。
    • HttpStatusCodeResult. 返回用户指定的 HTTP 状态码。

    JSON 绑定支持 
    ASP.NET MVC3 包含内置的 JSON 绑定支持,允许 Action 方法接收 JSON 编码的数据并且模型化为 Action 的参数。这个能力经常被用于客户端的模板和数据绑定中。客户端模板允许你通过客户端的模板来格式化和显示一个或者多个数据,MVC3 允许你简单的连接客户端模板和服务器端的 Action 方法,通过 JSON 来发送和接收数据,更多的信息参考:Scott Guthrie's MVC 3 Preview blog post.

    ValidationAttribute 类 
    在 .NET Framework4 中被改进 的ValidationAttribute 类支持新的 IsValid 重载,提供关于当前验证上下文的更多信息,例如什么对象被验证了。这允许你基于 Model 的其他属性来验证当前值,例如,新的 CompareAttribute 就允许你比较 Model 的两个属性的值,在下面的例子中,ComparePassword 属性必须匹配 Password 字段来同通过验证。

    Model 验证的改进 
    DataAnnotations 元数据标签 
    ASP.NET MVC3 支持 DataAnnotations 元数据标签,例如:DisplayAttribute。

    1. public class User
    2. {
    3. [Required]
    4. public string Password { get; set; }
    5. [Required, Compare("Password")]
    6. public string ComparePassword { get; set; }
    7. }

 MVC4

MVC4 在vs2012以上版本中创建的时候,默认是 .net framework4.5  ,但是我们是可以修改为 .net 4.0的  (也就是说在2003的服务器上,还是可以上 mvc4的,安装过程请参考  windows2003 IIS6 部署MVC3和MVC4程序    Asp.net MVC4.0(从net4.5降级到4.0) 部署到window server 2003上的解决方案

但是Net Framework4.5是不支持安装在window server 2003上)

asp.net 4.5   MVC升级到 MVC4, 多了 webapi

vs2013里面  asp.net 4.5.1  MVC升级到了MVC5 ,webapi升级到了  webapi2.0

MVC5

多了对 webapi 2.0的支持  (可以看看这个  http://www.cnblogs.com/artech/p/web-api-sample.html)

ASP.NET MVC 5带来全新的开发者体验,One ASP.NET的整合新范本系统,经由单一入口即可完成所有Web范本的选择,各种Web范本之间也可以灵活组合出新范本,例如,Web Forms + Web API等。MVC 5提供更有弹性的会员认证系统,透过Code First的方式开发人员不在受限於固定的Schema,可自由定义所需的资料Schema。採用Bootstrap设计的全新Web范本介面,Bootstrap提供高度弹性,让开发人员也能快速拥有架构页面介面及开发出支援响应式网页 (Responsive Web)的能力。

随著Visual Studio 2013的发行,开发工具又向前迈出大一步,它正在统一一致的体验,现在,你能够实现相同功能集,无论你如何开始建置ASP.NET应用程式。例如,开发人员可以在Web Forms专案中透过支架(Scaffold)加入Web API,开发人员可以自由混合选择你所想要的技术。One ASP.NET是為了让开发人员在所爱的ASP.NET裡更容易做想做的事,One ASP.NET应该给开发人员信心,无论他们选择什麼,他们仍然是在一个可信任基础框架-ASP.NET-下进行开发。 
MVC专案范本无缝地整合成一个全新的One ASP.NET体验。透过One ASP.NET的专案建立精灵,开发人员可以客製化MVC专案和组态认证。MVC专案现在是标準Web应用程式的一部分且不再使用它们自己的专案GUID。

vs2013里面 有  EF6

EF6 在 code first的模式下,codefrist不支持的数据库更多,比如access,sqlite,sql compact 3.5,mysql,oracle

MVC6

在新版 ASP.NET5 和 MVC6 中,有很多变化,有些是彻底的变化,比如在最底层支持依赖注入技术,为了方便了解,我们这里列出了最重要的 10 大变化,以便进行学习,具体如下:

ASP.NET 5 现在已经是跨平台了,可以在 Mac 和 Linux 上运行。

不再有 Web Forms 框架了。

只支持 C# ,不在支持 VB.NET 了。(貌似最近又听说最终版 VB.NET 又要支持了)

新的 Tag 语法, @Html.LabelFor 或 Html.TextBoxFor 替换成新语法 <label asp-for="Name"> 或 <input asp-for="Name" /> ,以便进行模型绑定。

新增视图组件( View Component ),可以将局部内容定义为一个单独的组件进行调用,和 Web Forms 里的 WebControl 非常像。

拥抱前端技术,内置了 Nodejs 、 NPM 、 Grunt 、 Bower 技术。

模型整合,将 MVC 和 WebAPI 整合成一个框架。

支持 AngularJS ,帮内置了 AngularJS 的 module 、 controller 、 directive 、以及 factory 模板。

支持依赖注入技术,拥有原生的 DI 框架,并且也支持第三方容器。

支持 xUnit.net ,并抛弃了 Visual Studio Unit Testing 框架。

ASP.NET 5 中的 MVC 、 Web API 、 Web Pages 三个框架会合并成一个框架,统称为 MVC6 。该合并工作将删除三个框架中重复的功能,比如 MVC 和 Web API 中的两种 Controller 只保留一种。但是传统 MVC 的功能都会保留,比如模型绑定。不过,据说 Web Pages 在 RTM 的时候不会发布,而是会在 RTM 之后的第一次更新中进行发布。

MVC6 会引入一些新功能,最引人注目的功能就是 Tag Helpers 和 View Components 。 Tag Helpers 是 Html Helpers 的一种替换,而 View Components 则引入里类似 Web Forms 中的 WebControl 的概念。

EF7

EF7不是在EF6上更新,而是完全重写了。它完全支持.NET Core runtime,也就是说以后你可以在Mac或者是Linux机器上使用EF了。

EF7比较大的变化:

a.只支持Code-First或者Code,不再支持图形界面的生成。

b.支持关系型数据库。

c.跨平台。

微软真的太2了!!!更新太快了

转自:http://www.cnblogs.com/liangxiaofeng/p/5840754.html

Asp.Net MVC EF各版本区别相关推荐

  1. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(13)-权限设计

    原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(13)-权限设计 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    (2):数据 ...

  2. ASP.NET MVC 5 02 - ASP.NET MVC 1-5 各版本特点

    参考书籍:<ASP.NET MVC 4 高级编程>.<ASP.NET MVC 5 高级编程>.<C#高级编程(第8版)>.<使用ASP.NET MVC开发企业 ...

  3. ASP.NET MVC+EF框架+EasyUI实现权限管理(附源码)

    前言目录 前言:时间很快,已经快到春节的时间了,这段时间由于生病,博客基本没更新,所以今天写一下我们做的一个项目吧,是对权限的基本操作的操作,代码也就不怎么说了,直接上传源码和图片展示,下面我们直接进 ...

  4. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(14)-主框架搭建

    ASP.NET MVC+EF框架+EasyUI实现权限管理系列(14)-主框架搭建 原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(14)-主框架搭建    ASP.NET MV ...

  5. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(18)-过滤器的使用和批量删除数据(伪删除和直接删除)...

    ASP.NET MVC+EF框架+EasyUI实现权限管理系列(18)-过滤器的使用和批量删除数据(伪删除和直接删除) 原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(18)-过 ...

  6. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(17)-注册用户功能的细节处理(各种验证)...

    原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(17)-注册用户功能的细节处理(各种验证) ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框 ...

  7. 【公开课视频】ASP.NET MVC+EF入门-20130315

    20130315 .Net MVC+EF 入门公开课 适合:.Net MVC入门者 一.内容概要: 1.MVC设计模式 Model 是指 要处理的业务代码和数据操作代码 View 视图 主要是指的 跟 ...

  8. ASP.NET MVC: EF 没有创建数据库表

    设定连接字符串时,Name属性的值,应该等于创建的EF数据库类类名 比如: using System; using System.Collections.Generic; using System.L ...

  9. Asp.Net MVC +EF(2)Linq查询和Lambda表达式

    Linq简介 Linq全称Language Integrated Query(语言集成查询),为我们提供一种统一的方式来查询和操作各种数据. linq to object:是针对实现IEnumerab ...

最新文章

  1. greendao3出现 Error:Execution failed for task ':app:greendao'
  2. Fescar 发布 0.3.0 版本, 支持 Eureka 注册中心
  3. python叫什么语言-Python代码是什么语言
  4. Git的commit之后的撤销revert
  5. Oracle中的wmsys.wm_concat
  6. 设计一个串口服务器设备.《需求分析报告》,《项目开发,分布式多串口交换服务器的设计与实现...
  7. Ext JS 6学习文档-第6章-高级组件
  8. 使用vrep给某个模型加dummy的一点小经验
  9. startActivity流程(上)
  10. 网站性能工具-YSlow的23个规则-网站性能优化
  11. 查询任意汉字的Unicode编码,UTF8编码,GB2312编码,GBK编码
  12. 不看绝对后悔的Linux三剑客之awk实战精讲
  13. matlab输入二项分布函数,MATLAB如何使用binornd函数生成二项分布随机数
  14. 人工智能培训学校学哪些内容
  15. Transformer主干网络——ViT保姆级解析
  16. 三星矫情,重温Galaxy S5发布会收买人心
  17. SAP ABAP 业务开关和 SAP 电商云的 Feature Level
  18. 外业精灵,在水土流失监测野外调查工作中的应用
  19. Space/Aerial-Assisted Computing Offloading for IoT Applications: A Learning-Based论文复现
  20. VirusTotal智能搜索

热门文章

  1. 哈希表及其冲突与排解
  2. Apache服务器安装SSL证书
  3. RequestContextHolder获取request
  4. babylonjs 分部加载模型_初学WebGL引擎-BabylonJS:第2篇-基础模型体验
  5. IIS三种应用程序池回收方法(保姆级教程)
  6. 51CTO首届卡拉OK大赛:我唱,为欢聚而歌
  7. 钉钉开放平台“常见问题常见问题常见问题“
  8. html字体自动放大,让用户自己控制网页字体的大小的css书写方法
  9. 计算机网络拓扑应用于,基于复杂网络理论的计算机网络拓扑研究
  10. 数字化招聘:猎聘、快手同行不同路