首页 新闻 会员 周边

求推荐轻量级ORM,新手不知如何选择 PetaPoco,Dapper,FluentData,DataRabbit 用过的大神请总结下使用感受

0
悬赏园豆:50 [已解决问题] 解决于 2014-09-06 09:10

之前打算用EF,后来发现已经习惯了写sql的我一下子无法转变对数据库操作的思维....

网上晃了几圈,挑了几个感觉还不错的小框架,希望用过的前辈们说下这几个框架用的最爽,和最不爽的地方

PetaPoco,Dapper,FluentData,DataRabbit

希望大家尽量参照格式回复,也方便后来的跟我一样的小白参考

回复格式如下(除了上述几款,如果有特别顺手的也可以推荐,只要轻量的,那些需要配置xml的就算了):

框架名称:
用的最爽的功能:
用的感觉别扭的地方:
其它建议:

ssboy的主页 ssboy | 初学一级 | 园豆:122
提问于:2014-09-05 10:34
< >
分享
最佳答案
-4

还是建议EF吧,毕竟是MS官方的,既然用了.net,还有什么能超越EF的?而且EF都开源了,支持多数据库系统。

至于LinQ to SQL,这个其实很简单,适合你(按照你的描述,习惯写SQL了),只是:1、MS不再升级发布新版本,2、原生不支持SQL Server外的数据库系统。

此外,还可以考虑用NHiberate,这个很牛啊!只是要求专业点,以前MS没出的时候,一个同事就极力推荐我,可惜我就安排他去做数据库了。

还有一个,就是叫Moon的ORM,具体如何,呵呵了。

你列举的这几个,没关注过,有了EF,我没考虑别的。

收获园豆:20
519740105 | 大侠五级 |园豆:5810 | 2014-09-05 11:15

写sql语句习惯了..一下子转不过来...用起来很别扭啊啊啊

ssboy | 园豆:122 (初学一级) | 2014-09-05 11:22

@ssboy: 总得改变,直接SQL已经过时了。

519740105 | 园豆:5810 (大侠五级) | 2014-09-05 11:23

@519740105: 乱说写linq跟写SQL的思路是一样的,哪有什么转不过来.不会写linq就说明你不会写sql

吴瑞祥 | 园豆:29449 (高人七级) | 2014-09-05 11:27

@519740105: linq to EF 在用复杂查询的时候会有问题...自动给我把模型的命名空间给改了....初学也不知道问题在哪里,所以果断弃用了...

ssboy | 园豆:122 (初学一级) | 2014-09-05 12:15

@ssboy: 也就是Group by稍微恶心一点,习惯了就好。

转换期的话,Dynamic query是很多人要问的问题。这个也有大神解决了。

爱编程的大叔 | 园豆:30839 (高人七级) | 2014-09-05 12:18

@吴瑞祥: 当然思路是一致的,都是查询,只是技术细节而已。

519740105 | 园豆:5810 (大侠五级) | 2014-09-05 13:28

@ssboy: 这个问题其实不存在的,开始你可以做SQL First,然后再Model First,最后你就会喜欢上Code First了。

当你用上EF后,你会喜欢上的(当然不一定是EF,也可以是其它的ORM)。

519740105 | 园豆:5810 (大侠五级) | 2014-09-05 13:30

@519740105: 好的,多谢指点,我C#,mvc都是刚开始接触...先慢慢来吧..一下子脱离sql的思维方式还真不太行,哈哈哈.....

ssboy | 园豆:122 (初学一级) | 2014-09-05 16:53

@ssboy: 也是。慢慢来。

519740105 | 园豆:5810 (大侠五级) | 2014-09-05 17:31
其他回答(9)
0

框架名称:LINQ to SQL

用的最爽的功能:官方ORM,不懂的时候,一GOOGLE一大片。

用的感觉别扭的地方: 只支持SQL SERVER,需要多数据库支持的请绕道。

收获园豆:10
爱编程的大叔 | 园豆:30839 (高人七级) | 2014-09-05 10:37
0

dapper,

收获园豆:2
吴瑞祥 | 园豆:29449 (高人七级) | 2014-09-05 10:48

 你的梦中情人,也不多说两句,哈哈。

支持(0) 反对(0) 爱编程的大叔 | 园豆:30839 (高人七级) | 2014-09-05 10:53

@爱编程的大叔: 好用的东西不需要解释,水平没那么高还是用简单的东西好.

水平高了以后再去用正经的ORM

支持(0) 反对(0) 吴瑞祥 | 园豆:29449 (高人七级) | 2014-09-05 10:58

多谢,depper 好像对varchar支持需要转换个什么好像....

实际使用中没有感觉别扭的地方么

支持(0) 反对(0) ssboy | 园豆:122 (初学一级) | 2014-09-05 11:24

@ssboy: dapper就是一个对象映射工具,不当成orm来用的.orm能提高工作效率的

支持(0) 反对(0) 吴瑞祥 | 园豆:29449 (高人七级) | 2014-09-05 11:29

@吴瑞祥: orm不就是 对象关系映射么..就是说的mapping嘛..

支持(0) 反对(0) ssboy | 园豆:122 (初学一级) | 2014-09-05 12:16

@ssboy: 不一样的,ORM是对象关系映射 dapper最多算是对象-表映射

支持(0) 反对(0) 吴瑞祥 | 园豆:29449 (高人七级) | 2014-09-06 06:44
1

我觉得吧,看你的业务需求。L2S简单,直接,复杂查询有难度,单表维护快捷。Dapper高性能,代码量较大,需要熟悉SQL。其他都差不多,要么面向对象多点,那么面向sql就少点,反之亦然。

收获园豆:5
幻天芒 | 园豆:37175 (高人七级) | 2014-09-05 11:13

我上面列出的这几个都差不多,但大概看了一下,还是很多不一样的地方,所以想收集点实战经验再选一下

支持(0) 反对(0) ssboy | 园豆:122 (初学一级) | 2014-09-05 11:22

@ssboy: 对,你上面这几个,都算是半自动的ORM框架。如果要选这个类型的,还是ibatis.net用得多。这几个的特点就是定制sql,性能高。

支持(0) 反对(0) 幻天芒 | 园豆:37175 (高人七级) | 2014-09-05 13:19
0

用iBATIS.Net吧,这个sql可以跟业务分离。dapper也快,但是sql嵌入到业务中。

收获园豆:4
悟行 | 园豆:12559 (专家六级) | 2014-09-05 11:44

我是初学,搞不出什么大项目,而且需要xml配置,太麻烦了....不过还是谢谢了

支持(0) 反对(0) ssboy | 园豆:122 (初学一级) | 2014-09-05 16:51
0

小项目可以用Dapper,使用简单

收获园豆:5
秋壶冰月 | 园豆:5903 (大侠五级) | 2014-09-05 13:52

好的,既然大家都推荐depper,我就终点看下

支持(0) 反对(0) ssboy | 园豆:122 (初学一级) | 2014-09-05 16:52
2

项目使用: PetaPoco 非常好用, 可配合代码生成工具一起

收获园豆:4
Jerry柯 | 园豆:496 (菜鸟二级) | 2014-09-05 17:42
0

Dapper   参考:http://www.cnblogs.com/hy59005271/p/4759623.html

咖啡不苦不舒服 | 园豆:211 (菜鸟二级) | 2015-09-25 11:45
2

我对比过Dapper,PetaPoco,FluentData,最好选择了PetaPoco,好用

民工黑猫 | 园豆:204 (菜鸟二级) | 2015-11-24 16:02

正解

支持(0) 反对(0) fishpro | 园豆:200 (初学一级) | 2016-09-01 12:27

之前有个Mysql项目用过这个,感觉不错。

支持(0) 反对(0) moemorin | 园豆:200 (初学一级) | 2018-11-21 09:50
1

其实 SQLSugar才是最好用的ORM http://www.codeisbug.com/Home/Doc

阿妮亚 | 园豆:210 (菜鸟二级) | 2017-01-11 10:09

支持支持,我觉得也是。

支持(0) 反对(0) moemorin | 园豆:200 (初学一级) | 2018-11-21 09:49
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册