以 ADO.NET 为基础所发展出来的对象关系对应 (O/R Mapping) 解决方案,是微软的一个ORM框架。
ORM指的是面向对象的对象模型和关系型数据库的数据结构之间的相互转换。
首先EF原理:拿到所有实体对象,读取映射关系,根据映射关系生成相应的sql脚本,最终调用Ado.net底层的
Command然后执行到数据库里面去
问题:为什么用EF而不用原生的Ado.Net?
1、极大的提高开发效率:EF是微软自己的产品,跟VS开发工具集成度比较好,开发中代码都是强类型的,
写代码效率非常高,自动化程度非常高,命令式的编程。(DB first、Code first、Model first)
2、EF提供的模型设计器非常强大,不仅仅带来了设计数据库的革命,也附带来的自动化生成模型,代码的功能也极大的提高开发和架构设计的效率
3、EF跨数据支持是ORM框架主要功能点之一,带来的是可以通过仅仅改变配置就可以做到跨数据库的能力。
4、缺陷:性能差(生成sql脚本阶段),在复杂查询的时候生成的sql脚本效率不是很高。