1、性能上(运行效率)
Ado.Net的性能更高些,直接使用SQLHelper的Command、Connection等命令通过写SQL语句对数据库进行操作。(EF的实体模型,性能上肯定要损失些!!)
2、方便性上(开发效率)
EF使用起来更方便,原因是开发人员不用关心如何访问数据库了。
3、适用性上
EF适合较大型的项目,数据量也较大些;而Ado.Net适用于小型项目(执行效率高些)。
4、灵活性上
Ado.Net灵活性更高,但可能存在sql注入的问题。
PS(相关的):
EF最终都是翻译转换成sql去执行的,开发很快捷。ado相对来说你可以自行处理sql存储过程和脚本,灵活性大,不需要进行翻译,但工作量会相对多一些。
微软最初退出ORM技术,目的是在提高开发效率,并不是提高运行效率,它只是使对数据库的编码更符合面向对象的编程的方式。
EF框架和Ado.Net,其实简单来说,就是封装和原生的PK了。