Entity Framework 6.0 入门系列 第一篇

Entity Framework 6.0 入门系列 第一篇sql

好几年前接触过一些ef感受不是很好用,废弃。可是 Entity Framework 6.0是通过几个版本优化过的产物,性能和功能不断完善,开始学习。数据库

 

EF ,全称Entity FramWork。就是微软以ADO.NET为基础发展的所谓ORM(对象关系映射框架,或者说是数据持久化框架)。框架

简单的来讲就是根据实体对象操做数据表中数据的一种面向对象的操做框架,具体的底层也是调用ADO.NET。工具

EF支持SQL Server,Mysql,Oracle,DB2等数据库上使用,咱们能够将数据做为业务对象和实体来进行处理,开发者能够使用Linq来操做和查询数据。性能

最终会生成SQL语句来执行,能够打开SQL Server Profiler来查看具体生成的每一条SQL语句; 学习

Entity Framework  有三种领域建模方式,Code First,Model First,及Database First;优化

先简单描述下这三种模式的区别spa

 

1.Database First是基于已存在的数据库,利用某些工具(如VS提供的EF设计器)建立实体类,数据库对象与实体类的匹配关系等,你也能够手动修改这些自动生成的代码及匹配文件。也就是从一个数据库开始,而后生成实体框架和相应代码。咱们咱们又DBA来建立数据库或者已经有存在的数据库,这种方式做为首选;设计


2.Model First 是先利用某些工具(如VS的EF设计器)设计出可视化的实体数据模型及他们之间的关系,而后再根据这些实体、关系去生成数据库对象及相关代码文件。对象


3.Code First 这种方式须要先写一些代码,如实体对象,数据关系等,而后根据已有的代码描述,自动建立数据对象。但其实这种方法与Model First是很是相似的。咱们本身写的代码,其实就是用代码表示实体模型,而Model First是用可视化的方式描述了实体模型。这个是最受欢迎的领域建模方式,比较灵活;

 

这三种方式各有利弊,使用过程当中咱们要按实际需求来选择。这些工具的出现和使用,大大提升了开发人员的开发速度,使得数据库、模型等出现了复用、扩展的可能,在应对变化方面也作了足够的工做。这些工具所体现的服务思想更提醒咱们要全方位去考虑问题,在产品中作好应对变化的措施。

相关文章
相关标签/搜索