博主最近也看了不少关于ORM框架的测试,大多数都是增删改几千,几万条的数据,这样确实可以看出来性能的比较,但是实际项目中真的很少有这样的情况,一次增删改几千几万条数据的,我们做项目服务的都是用户,按用户的一次请求为一次数据库上下文的操作,同一个上下文在这样的一次请求中基本不可能同时提交这么多的数据操作,有人说那要是成千上万的用户同时呢,那就要考虑并发了,就不是本文所要讨论的问题了。所以这些测试能表明结果,但是不能表明实际问题。另外在大多数对于EF的测试中,很多人忽略了EF对于实体的跟踪,
EF的初衷,也可以说是很多ORM应该具备的出发点,就是从以前的非常不OO的数据操作方式,变成现在的OO的方式,就是为了解放开发人员写Sql查询操作数据库的方式,就是要用面向对象的思想来操作数据库,结果倒好,有些人又要回到以前写Sql语句,又要去回到解放前,这就好比 面向过程编程 效率很高速度很快,但是为什么要提出面向对象编程,因为面向过程写起来累啊!不好维护啊!不好扩展啊!不方便啊,还有分层架构,不都是为了这吗,这些东西我们应该是发挥它的优势,知道他在什么情况下用,什么情况下不用,而不是一直死死的抓住他的缺点说不行。当然,有很多情况下是不追求生产效率,只追求性能的,那就不说了。
说了这么多,我也不是想证明什么,我只是想知道,我该什么情况下用EF,怎么用EF来发挥出他的优势,怎么能用好EF
详情请见:https://baijiahao.baidu.com/s?id=1572582741382429&wfr=spider&for=pc