我希望看到你对流行的ORM工具的体验,如NHibernate,LLBLGen,EF,S2Q,Genom-e,LightSpeed,DataObjects.NET,OpenAccess,......
从我的exp: - Genom-e是安静的能够Linq和性能,开发支持 - EF缺乏一些关键功能,如延迟加载,Poco支持,pers.ignorance ......但在4.o它可能已经克服.. - 到目前为止,DataObjects.Net很好,通过我发现了一些错误 - NHibernate陡峭的学习曲线,没有100%Linq支持(如Genom-e和DataObjects.Net),但非常支持,可扩展和成熟
3 回答
http://www.ormbattle.net/
这是您目前可以找到的最佳比较 .
根据我的经验,顺便说一下:如果您对LINQ感兴趣,请远离NHibernate当前版本 - 使用开发分支 . LINQ支持进入主DLL并且 - 更重要的是 - 比当前版本中有限的添加方法更好更完整 .
ORM Meter
Should I ever use Entity Framework 4.0?
NHibernate – The Good, the Bad, and the Ugly, that it gets!
alt text http://ormeter.net/images/stories/results-2009.10/Scorecard-LINQ.png
两年前(2010年)我们在NHibernate,EF和Llblgen之间做了一个非常深入的分析,然后选择了最后一个 . 我们当然认为我们做出了正确的决定 .
Llblgen Pro是一个华丽而成熟的ORM(实体FW需要进化:直接m:n,枚举,继承......) . 无需使用XML即可轻松使用模型和数据库,只需一名优秀的图形设计师 .
高效:只获取您需要的列...或使用TypedList获取常用的连接/分组列...或使用TypedViews映射视图,或映射检索存储过程...或使用即席查询 . 您甚至可以创建一些映射您自己的POCO(TypeValue)的模板并直接调用SQL! (我们不需要走这么远)
从设计器中,使用自己的框架,或NHibernate或Entity Framework,或LINQ to SQL
你已经决定投入 生产环境 的很多功能(预取,事务,数据绑定助手,分页,(反)序列化,定制(属性,依赖注入,授权,审计......)
......但它更多:一个伟大的模型设计师和模板系统 .
来自ORM:
很好地利用自定义模板(例如ASP.Net,MVC,REST或WCF)提供了一个脚手架系统/通用架构 - >允许经验较少的编码人员进行追赶并提高工作效率 . 常用的解决方案被重复使用(其成本下降:它为老式的ASP.Net webforms看了一下http://northwind.angte-demo.com/,感受模板的功能 .
像往常一样在VS中的特定应用程序的代码 . 如果代码是可重用的,则将代码添加到模板中(这通常意味着在类似ASP的文件中更改"Product"与"<%=Entity.Name%>",而不是硬工作人员) .