EF框架的三种模式

Database First就是先建数据库或使用已有的数据库。然后在vs中添加ADO.Net实体数据模型,设置连接并且选择需要的数据库和表。它是以数据库设计为基础的,并根据数据库自动生成实体数据模型,从而驱动整个开发流程。除生成实体模型和自跟踪实现模型,还支持生成轻型DbContext。这种模式的好处是使用简单,容易上手。比较适合于采用已经存在的数据库进行开发。既通过简单的方式实现了,又重用了数据库。

第一步:创建ADO.NET实体数据模型

第二步:选择从数据库模型生成并点击下一步

第三步:选择数据连接并点击下一步

第四步:选择框架版本并点击下一步

第五步:选择数据库对象和设置,可修改模型命名空间,点击完成,生成edmx文件

 

 

Model First开发模式是指从建立实体数据模型入手,并依据模型生成数据库,从而驱动整个开发流程。该模式也就是业界流行的面向领域的编程模式,它的优点在于程序员可以用与设计建模相同的思维来进行代码编写,更符合面向对象的思想。ModelFirst与Database First是互逆的,但最终都是输出数据库和实体数据模型。但是当实体需要改变的时候,我们要重新在设计器中修改实体,然后重新生成SQL脚本,更新数据库,这个时候数据库中原有的数据就会被清空。为了达到数据备份的作用,我们还需要提前对数据库进行备份,这又增加了工作量。

Model First跟DataBase First差不多,在选择模型内容的时候选择“空模型”即可,在edmx文件中右键创建实体、关联,在属性中科院修改类型等。

 

Code First模式自认为是手动创建POCO模型,数据层DbContext及映射关系,通过Database.SetInitializer生成数据库,非常灵活。但是当实体类很多的时候,每一个实体类都需要我们手动编写代码,这将会是一件非常庞大的工程。但是Code First的好处绝对是比坏处大的。

posted @ 2015-12-20 21:07  fomin  阅读(3092)  评论(3编辑  收藏  举报