[转]Asp.Net MVC EF各版有别

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

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。

AngularJS 1

AngularJS 2

 

vs2013里面 有  EF6

EF6 在 code
first的模式下,codefristAngularJS不支持之数据库更多,比如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.跨平台。

相关文章