谢谢大家多推荐几个好用的Orm,谢谢了
来看看我的博客
EF/DAPPER
EF性能不好,多数据源数据转换不方便
,dapper虽然短小,如同瑞士军刀,但是在现代战争中就一个瑞士军刀不行吧.
1、EF
2、NHiberate
当然还有其他orm,如果是自己在用,可以园里的大牛们写的orm,要是在公司用orm,能选的EF和NHibernate,除非你说服领导用!
EF反正性能差是被人知道的,坑多常常被人抱怨.
nhiberate一堆配置,不知道现在怎样.你用过没?
@helloa: 两个都用过,NHibernate配置多,很正常啊,微软把.Net封装的问题,说用起来简单好呢,还是太傻瓜化了呢?楼下说的比较好,还是看你所用的场景,如果数据量特别大的时候,不是考虑优化sql,而是优化数据库,如分区等,最终还是看你自己选哪个了
推荐买台电脑吧,推荐买个手机吧,这类型的问题,通常问的人,我要知道他是百万身家,高富帅还是屌丝。
同样的道理,你让人推荐,确不告诉应用场景,你希望ORM是万能的?
有的ORM主打易用,有的主打性能,有的主打通用。
比如我就用最普通的Linq to SQL,因为我只用SQL Server 数据库,开发目前报价100万以内的商业系统。
看中的是他的简洁,易用。当然,我不是只用微软的生成器,我用了CodeSmith + PlinqO(Linq to SQL)的CodeSmith版本。
如果你需要ORM可以上天,可以下海,可以开发连接ACCESS或是SQLite的单机版或是需要系统可以随时在各大数据库间切换,那么你可以选择微软的Entity Framework,或者楼上说的Nhibenate(楼上拼写错误了,你要是按那个GOOGLE不行)
但是,通常情况下,可移植性越强,说明配置项越多,需要掌握的技巧越多,类似你说的坑多或是配置复杂。开发1个亿的系统,你需要几个月几年做评估,文档,如果开发一个3000元的,你也用几个月去做文档,那就不知道如何说起了。
性能方面,看你的用户数,应用环境,数据库构建的合理,前台UI界面、代码的合理性,这一大堆东西都对性能有影响。
说得很好哦.
我只想高性能,简单易用
@helloa: 这个可不好说。还是得看应用场景,哈。
拿手机比喻吧,
钱多了,买Vertu
少一点,土豪金
再少点,小米
更少点,大米
最少,NOKIA 神机
但是他们都能打电话,易用性见仁见智。
高性能是一个很多人有误解的知识点,通常情况下,通用的技术在性能方面的差异可能有10倍,但是书写不好的数据查询SQL的性能差异去可能有100倍,设计不良的UI,结构不良的数据表设计等等,都是性能的杀手。
另外一方面,大部份的商业程序,不象计算银河系黑洞理论啥的,通常最耗时的操作是用户的键盘录入和鼠标动作。理论上,只要不超过1S的查询,你是10MS还是100MS,对用户来说,没有感觉。
很多人做测试时用10万次循环来说明性能问题。其实这个没有意义的,对微软或是ORACLE有意义,对于商业程序来说,最终用户选择三个搜索条件,大概需要5秒,点下查询按钮,0.5少,出现结果1S,看结果,15分钟。这是最典型的场景。
@爱编程的大叔:
钱多了,买Vertu
少一点,土豪金
再少点,小米
更少点,大米
最少,NOKIA 神机
Nokia 1020和1520
哪个不比小米贵
@bluejance: Nokia神机是1050。
EF\NHibernate 首选, 都可以使用Fluent Api进行映射,性能 EF应该比NH好,EF性能不差。
慢的话,可能掉坑里了。
提高开发团队的职业技能是关键,团队的技术素质往往比常用的orm对整个解决方案的性能影响大得多。地基打的再好,墙磊得不行,肯定是不行的。更何况,现在主流的orm是技术大佬写的,还是经得起考验的。
Orm太多,具体还是看个人喜好。
EF/NH后台硬,比较主流。
L2S被后娘养,现在不怎么讨好。
Dapper,PetaPoco轻量,灵活,功能相对较弱。
复杂业务逻辑的(一般多表连接操作)MyBatis.Net。
国人作品:Cyq.Data,Moon,PDF.Net,XCode,ClownFish,ALinq,ELinq,Smark.Data等。
Entity Framework/NHibernate 都行
我就知道有人会说Alinq
SqlSugar性能最快,语法简单