启动一个新项目,这是一个非常大(300个表)的遗留数据库的100%新开发。数据库并不能很好地匹配业务模型,所以我最初的想法是在哪里使用ORM。
我得到了一个与NHibernate很好配合的概念证明……但在使用“不受支持”的“开源”工具时,却遭到了很多管理层的反对。
对其他ORM解决方案有什么建议吗?或者关于NHibernate争论的建议?
非常感谢。
发布于 2009-06-28 12:37:04
如果您的管理层愿意为商业ORM付费,那么您将明智地考虑这条路线。
你可能(目前)对NHibernate有一个限制(除非你愿意使用NHibernateContrib项目中的Alpha代码),那就是你目前不能奢侈地使用LINQ / IQueryable机制来使用越来越熟悉的LINQ语法进行查询。你将仍然拥有非常灵活的标准和HQl机制,这只是取决于你是否想要开始投资,以“LINQ方式”做一切事情?
到目前为止,根据我的研究,您有很多选择(都支持LINQ查询):
原始实体框架(也有商业合作伙伴在其上添加工具和功能)。
Lightspeed看起来像是一种具有良好设计时支持的LINQ-to- time数据库。
Telerik OpenAccess看起来和Lightspeed很相似。
IdeaBlade DevForce是建立在EntityFrmework之上的,但是增加了一些可用性特性。如果您不使用SQL Server,那么使用IdeaBlade还需要从DevArt或DataDirect等独立供应商购买ORACLE-EF提供程序。
LLBLGen Pro很好的一系列功能和活跃的开发。已经存在很长时间了。
DevArt还为LINQ做了很好的数据访问工具和特定于供应商的提供程序。
UPDATE Production-ready LINQ support现已在NHibernate中提供!
发布于 2009-07-02 20:12:25
你为什么不问问管理层呢?
在Hibernate/NHibernate出现的时间里,微软创建了多少数据访问解决方案并将其淘汰?
在此期间,Hibernate/NHibernate已经变得越来越成熟。它不会消失。
发布于 2009-06-28 12:36:24
我在最近的两个项目中使用了Entity Framework,这两个项目有相似数量的表。这对我们来说效果很好。我们将表格分成几个实体框架模型,一个模型中最多有80个表格。
实体框架更容易出售给管理层,因为它是微软的。
https://stackoverflow.com/questions/1054827
复制相似问题