第一章 欢迎来的Code First(1)

来源:互联网 发布:九分子退朝,曰伤人乎. 编辑:程序博客网 时间:2024/05/21 15:48

未经授权,不得转载    

    微软ADO.NETEntity Framework,EF,以立即可用以及对象关系映射到.net和Visual Studio被众所周知。EntityFramework的核心是实体数据对象,一个应用域的概念模型映射到你的数据库架构。这个概念模型描述了你应用的核心类。当EntityFramework在数据库中查询,从数据创建对象以及将持久化改变的影响返回数据库时使用这个概念模型。

CodeFirst之前的EF模型

    第一代的EF来自于.net 3.5和Visual Studio 2008,它给了开发者这样一种方式去创建一个对象模型,就是通过转换一个已经存在的数据库到一个XML文件。这个XML文件使用EDMX扩展名,而且你能够使用一个设计器去浏览和定制模型以便更好的配套你的应用。VisualStudio 2010 和.net4.0带来了第二版的EntityFramework,为了配合.net版本号,将其命名为EntityFramework 4(EF4)。在模型方面,一种称为Model First的功能被添加了进来,在那里你可以在可视化设计器中设计你的概念模型并且创建基于该模型的数据库。

    Model First允许开发者工作在新的项目上工作时不需要有先前的数据,从而使开发者能够从EF框架中感受到好处。开发者能够从通过设计概念模型开始关注他们的应用域并且让数据库的创建一直跟随这个过程。不管是数据库优先的方式还是Modelfirst优先的方式设计EDMX,其下一步是让自动化代码生成器自动为创建你的应用域构建基于实体和它们关系的类。从这方面来说,开发者必须有应用域中对象的强类型,不管它们是customers,baseball cards,或者fairy tale characters,开发者能够围绕这些类型快乐地开发它们的软件。

    另外一个EF4中的重要改变是,在.net 3.5中,Entity Framework能够控制内存对象的唯一方法是通过获取继承于EntityObject的类。EntityObject能够与Entity Framework通信以使其可以知道它的改变,同时EntityFramework能够将改变的信息反追踪并且最终将持久化信息返回给数据库。除此之外,.net4介绍了POCO(Plain Old CLR Object:简单传统CLR对象),该对象能够支持EntityFramework追踪简单类的改变而无需EntityObject介入。这让开发者可以使用他们自己的类,并且这些类独立于EntityFramework之外。EF运行时能够有一种方法可以感知到这些类并在内存中追踪到它们。

 


0 0
原创粉丝点击