首页 新闻 会员 周边

Asp.net MVC不使用EF,使用其他什么方式操作数据库性能比较高

0
悬赏园豆:10 [已解决问题] 解决于 2014-04-19 21:20

EF的缺点:
ef是软件程序自动生成sql来执行操作数据的,有些生成的很不合理的sql,所以这样性能就不高了,比直接使用ado.net 的DataTable和DataSet等效率还差,但linq对翻页有很好的支持,在翻页的时候不要把全部数据取出了再去实现翻页,可以只取当前页的内容,网上现在很多人说,有了orm,现在很少使用ado.net了,基本都使用ORM去 了,是这样的吗?有没有更好的能结合2者好的点的解决方案?

jason2013的主页 jason2013 | 小虾三级 | 园豆:1998
提问于:2014-04-18 09:22
< >
分享
最佳答案
0

使用ado.net,但是不使用datatable和dataset,只用datareader.

没有说基本都用ORM工具,重要的是orm的思想,至少你的程序层于层之前不要传输datatable或者dataset
全部要操作实体类,不能操作datatable这种弱类型的东西.

什么叫linq对翻页有很好的支持,翻页跟linq有什么关系?orm是好用,但业务复杂的时候会比较麻烦,

收获园豆:10
吴瑞祥 | 高人七级 |园豆:29449 | 2014-04-18 09:58
其他回答(4)
0

可以使用轻量型的orm框架,园内有很多,可以自行搜索,也可以用Dapper,

秋壶冰月 | 园豆:5903 (大侠五级) | 2014-04-18 13:00
0

批量 感觉慢点,其它没啥

Qlin | 园豆:2403 (老鸟四级) | 2014-04-18 14:30
0

比较复杂的ORM对于复杂的查询还是很难处理的,找一些轻型的ORM框架用用还不错,特殊的复杂查询还可以执行SQL,之前用过一个叫PDF.NET的可以做到这一点,不过要花点时间来学习,也可以找找其他的轻量级ORM,这东西现在很多,一定要开源。

醉低调 | 园豆:128 (初学一级) | 2014-04-18 15:59
0

一个使用EF牛逼的人绝不比使用原生态ado的差,性能这个事,还是看程序员水平高低。

EF只不过是在ado.net基础上封装,性能上没什么差距,差距在于人。

wongdavid | 园豆:394 (菜鸟二级) | 2014-04-19 01:34
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册