都是封装的ado.net
后果性能更好,做了更多的性能优化。前者只是单纯的生成sql语句,并调用。
就我所知,大部份的性能问题都是码农造成的,而不是哪种数据访问技术造成的。
My english is not so good, so 我总是不喜欢玩这么高大上的对比。
不过,说实话,搞出上面这图的家伙说不定也和我一样不学无术呢。
千万不要相信我....
另外一个不可相信的道听途说的测试图。
一般说来,这样的性能对比其实很无聊的。
大部分的(80%)的码农在工作五年内,性能问题一般都喜欢到架构或者技术里面找原因。
但是90%以上的问题都是设计不合理,或者代码不合理造成的。
所以结论是,请不要使用C#编程,这是美帝用来陷害我们社会主义国家的阴谋。
他们都是用纸带编程的。
ef要好太多,之前我们公司的一个项目用linq,网站首页打开需要5分钟,最终方案是把关键流程改成ADO
这个就是典型的写字不好怪派克笔出水太多影响发挥的。印证了我上面说的话。
@爱编程的大叔: 微软也承认Linq有性能问题,所以才出了EF,虽然EF6性能有成十倍的提升,但EF仍然有严重的性能问题,一般中小弄项目公司还是可以考虑的,一般如果做像淘宝或京东这种对用户体验很高的网站,一般都不会考虑的。
@沧海一杰: 经常看到你发言,但看今天的发言,我怀疑你根本没有实际这方面的项目经验,只是纸上谈兵。
@沧海一杰: 失敬失敬!
我从来没做过1千万以上的项目,没那个经验。
我说的都是错的。
@沧海一杰:
大叔说的是没问题的
sql方面的性能问题 ado时代 实际上 最大的性能瓶颈在于链接数据库(一次连接的时间顶几次 执行)
而entityframework 将常规的操作 封装的到内存级别了(一次io级别的操作时间可以执行1w次内存级别的操作 =。=) 然后 执行一次savechage(连一次数据库)做一次批量更新
显然 entityframework 在这方面更有优势 (优势的点是大幅度的减少了连接数据库的次数)
至于单纯的比添加 =。= 好像毫无意义哦 (显然 entityframework 不可能比单纯的执行sql快 因为最起码他需要通过类去映射成sql然后在执行 这部分的时间显然会比直接执行sql长)
但是全局来看 显然entityframework 效率更高
至于大叔说的 设计问题 等等就是指的这方面的