您是否使用过Telerik的OpenAccess ORM?它与NHibernate相比如何?我什么时候应该考虑在NHibernate上使用它?
我自己也想知道同样的事情.一方面,NH有自由的开源自我,但支持选项有限.另一方面,这是一个着名的工具提供商盒子OA的新增功能.
OA需要花钱,但你得到了支持.新罕布什尔州是免费的,但至少在我的短暂经历中,人们已经知道支持是有限的,而且进展缓慢.
我认为两者都可能是优质产品.因为我已经是Telerik工具的用户,所以我决定尝试OA.无论如何,支持OA及其支持.
NH使用普通类和对象,在类属性上没有任何装饰.OA需要装饰(由OA Visual Studio GUI很好地生成).
NH需要一个"会话"来与数据库一起工作; OA将其称为"范围".两者都使用"交易".
OA与Visual Studio集成,可以向数据库进行正向映射和反向映射.前向映射是这样您可以设计类,然后将它们"推"到数据库中以实现持久性."反向"是你的"领域模型"开发人员,这是我喜欢的.
由于Telerik最近收购并发布了以前由Vanatec(德国以外)拥有的OpenAccess,因此OA肯定正在进行一些重大更新.
就"易用性"和"性能/可扩展性"而言,我希望我知道每个人的立场.我相信那里的某个人可以在两者之间进行诚实的测试并做出这些决定.
我喜欢NH的一件事是可用的模板来生成所需的代码,不仅仅是"哑"业务对象(现在都是OA生成的),而是BLL和DLL.经过与Telerik的多次对话后,我的印象是他们计划生成更多代码生成选项,因此OA更有用.
希望这可以帮助!有人请尝试获取有关性能问题的一些统计信息.
我没有使用它,但是对我来说显而易见的一个好处是Telerik支持OpenAccess,社区支持nHibernate.如果您愿意接受开源解决方案而无需支持,这可能是决定因素,这取决于您的公司.
编辑为了记录,我是nHibernate的大力支持者,并且通常是开源的.我在过去的六个月里一直在使用nHibernate,将它用于我们的Web应用程序中的所有新工作.对于我现在的公司来说,这是一个很好的选择(Startups爱免费).
但是,我以前的雇员在接受社区支持的组件作为其基础设施的核心部分时会非常困难.这是完全合理的,因为这些公司的网站是他们唯一的收入来源.您是否希望将您的整个业务放在与之无关的软件上?有些人不想冒这个风险.
就个人而言,我发现对nHibernate的支持与一些商业供应商相提并论甚至更好.
我的观点不是打击OSS,而是强调使用具有合作支持的软件的一个好处,拥有一个完全配备人员和专用的支持渠道.
还有一个原因:目前OpenAccess具有更好的性能特征,如果您的项目需要快速ORM,那将是更好的选择.有关详细信息,请参阅ORM基准.