EntityFramework的效率与ADO.Net的效率哪个高?
Posted 我是谁的谁
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EntityFramework的效率与ADO.Net的效率哪个高?相关的知识,希望对你有一定的参考价值。
以 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脚本效率不是很高。
以上是关于EntityFramework的效率与ADO.Net的效率哪个高?的主要内容,如果未能解决你的问题,请参考以下文章
EntityFramework6中关闭自动识别变更功能提升效率的一点小技巧
七色花基本权限系统 - 初步使用EntityFramework实现用户登录
使用 Entity Framework 6.1 和 MVC 5 从数据库中使用 Code First 后如何同步模型?
EntityFramework中支持BulkInsert扩展
错误:无法解决依赖关系。 “entityframework 6.4.4”与“EntityFramework 6.2.0”约束EntityFramework(= 6.2.0)不兼容