未经授权,不得转载
在不同的.NET发布版本中获得Code First
Code First并没有准备好及时发布在.net4中,然而开发者不用等待.net 5发布带来Code First,微软让Code First能够通过其他方式获得,比如2011年4月的Entity Framewok 4.1。版本代码根据发布顺序递增。EntityFramework 4.2在2011年10月发布,它将替代EntityFramework 4.1并且里面含有CodeFirst。EntityFramework的核心API,System.Data.Entity.dll仍然是.net框架的一部分,且在EntityFramework 4.1和4.2中并未提及。
Entity Framework 4.1发布同样包括了另一个重要的特性,这个特性称之为DbContextAPI。DbContext是这个API的核心,它同样包含了其他相关的类。DbContext是Entity Framework的ObjectContext的一个轻量级版本,它封装了ObjectContext,并且它暴露了微软的基础库的特性,而这个基础库是开发者在使用EntityFramework时经常使用的。DbContext同样为编码模式提供更简单的数据获取方式,否则对于通过ObjectContext获得数据则更加复杂。DbContext同样为你考虑了很多普通的任务,以至于你只需写少量的代码即可获得相同的功能。当用CodeFirst工作时这是相当可靠的。因为微软推荐你在CodeFirst方式下使用DbContext,你会在整本书中看到它。然而,另一本书《EntityFramework 编程:DbContext》会更加深入DbContext,DbSet,合法的API和其他与DbContext相关的特性。
图1-2帮助你观察Code First和DbContext如何在Entity Framework 4的核心API上添加功能而不是改变这些API。
图1-2基于EF4的Code First和DbContext
多版本计划
微软会继续在VisualStudio的库发布管理(通过NuGet)机制中发布EntityFramework的新特性,这些特性会在EntityFramework 4.2中使用。EF库的核心也会加入到.net发布的中。但是这些依赖核心的特性,例如Code First和DbContext,会随着Entity Framwork NuGet 包的更新而发布。