之前打算用EF,后来发现已经习惯了写sql的我一下子无法转变对数据库操作的思维....
网上晃了几圈,挑了几个感觉还不错的小框架,希望用过的前辈们说下这几个框架用的最爽,和最不爽的地方
PetaPoco,Dapper,FluentData,DataRabbit
希望大家尽量参照格式回复,也方便后来的跟我一样的小白参考
回复格式如下(除了上述几款,如果有特别顺手的也可以推荐,只要轻量的,那些需要配置xml的就算了):
框架名称:
用的最爽的功能:
用的感觉别扭的地方:
其它建议:
还是建议EF吧,毕竟是MS官方的,既然用了.net,还有什么能超越EF的?而且EF都开源了,支持多数据库系统。
至于LinQ to SQL,这个其实很简单,适合你(按照你的描述,习惯写SQL了),只是:1、MS不再升级发布新版本,2、原生不支持SQL Server外的数据库系统。
此外,还可以考虑用NHiberate,这个很牛啊!只是要求专业点,以前MS没出的时候,一个同事就极力推荐我,可惜我就安排他去做数据库了。
还有一个,就是叫Moon的ORM,具体如何,呵呵了。
你列举的这几个,没关注过,有了EF,我没考虑别的。
写sql语句习惯了..一下子转不过来...用起来很别扭啊啊啊
@ssboy: 总得改变,直接SQL已经过时了。
@519740105: 乱说写linq跟写SQL的思路是一样的,哪有什么转不过来.不会写linq就说明你不会写sql
@519740105: linq to EF 在用复杂查询的时候会有问题...自动给我把模型的命名空间给改了....初学也不知道问题在哪里,所以果断弃用了...
@ssboy: 也就是Group by稍微恶心一点,习惯了就好。
转换期的话,Dynamic query是很多人要问的问题。这个也有大神解决了。
@吴瑞祥: 当然思路是一致的,都是查询,只是技术细节而已。
@ssboy: 这个问题其实不存在的,开始你可以做SQL First,然后再Model First,最后你就会喜欢上Code First了。
当你用上EF后,你会喜欢上的(当然不一定是EF,也可以是其它的ORM)。
@519740105: 好的,多谢指点,我C#,mvc都是刚开始接触...先慢慢来吧..一下子脱离sql的思维方式还真不太行,哈哈哈.....
@ssboy: 也是。慢慢来。
框架名称:LINQ to SQL
用的最爽的功能:官方ORM,不懂的时候,一GOOGLE一大片。
用的感觉别扭的地方: 只支持SQL SERVER,需要多数据库支持的请绕道。
dapper,
你的梦中情人,也不多说两句,哈哈。
@爱编程的大叔: 好用的东西不需要解释,水平没那么高还是用简单的东西好.
水平高了以后再去用正经的ORM
多谢,depper 好像对varchar支持需要转换个什么好像....
实际使用中没有感觉别扭的地方么
@ssboy: dapper就是一个对象映射工具,不当成orm来用的.orm能提高工作效率的
@吴瑞祥: orm不就是 对象关系映射么..就是说的mapping嘛..
@ssboy: 不一样的,ORM是对象关系映射 dapper最多算是对象-表映射
我觉得吧,看你的业务需求。L2S简单,直接,复杂查询有难度,单表维护快捷。Dapper高性能,代码量较大,需要熟悉SQL。其他都差不多,要么面向对象多点,那么面向sql就少点,反之亦然。
我上面列出的这几个都差不多,但大概看了一下,还是很多不一样的地方,所以想收集点实战经验再选一下
@ssboy: 对,你上面这几个,都算是半自动的ORM框架。如果要选这个类型的,还是ibatis.net用得多。这几个的特点就是定制sql,性能高。
用iBATIS.Net吧,这个sql可以跟业务分离。dapper也快,但是sql嵌入到业务中。
我是初学,搞不出什么大项目,而且需要xml配置,太麻烦了....不过还是谢谢了
小项目可以用Dapper,使用简单
好的,既然大家都推荐depper,我就终点看下
项目使用: PetaPoco 非常好用, 可配合代码生成工具一起
Dapper 参考:http://www.cnblogs.com/hy59005271/p/4759623.html
我对比过Dapper,PetaPoco,FluentData,最好选择了PetaPoco,好用
正解
之前有个Mysql项目用过这个,感觉不错。
其实 SQLSugar才是最好用的ORM http://www.codeisbug.com/Home/Doc
支持支持,我觉得也是。