我需要.Net ORM,我听到了一些关于此的好消息。我过去曾经运行过NHibernate,但这似乎让很多事情变得更容易。
然而,有两件事让我有些紧张。
是否有人使用它,他们是否将它推荐给生产环境?它还在积极发展吗?
具体来说,使用ActiveRecord而不仅仅是简单的'ol NHibernate?
是否值得答案 0 :(得分:7)
是的,使用ActiveRecord而不仅仅是简单的NHibernate,因为它大大简化了配置。
答案 1 :(得分:2)
它违反了域驱动设计,因为它会强制您向域对象添加属性并通过它们使用活动记录模式,理想情况下应该保留简单的POCO。领域驱动设计的崛起超过了经典的3层设计,这意味着它可能不是一个长期熟悉的好图书馆(可能直接用于nhibernate)。另一方面,它是一个优秀且强大的库,我使用它的项目是成功的。
答案 2 :(得分:2)
他们有夜间构建的城堡,它现在再次编译为NHibernate 2.0甚至2.1,我认为。很少有人使用RC3,我相信很快就会发布GA版本。
然而,尽管ActiveRecord极大地简化了配置,并且即使在查询等时也简化了NHibernate的使用,我经历过大部分时间我仍然回到在代码中使用NHibernate逻辑,因此没有利用ActiveRecord的其他方面(尤其是涉及ActiveRecord不支持的二级缓存等)。即使是HQL等也需要使用简单的NHibernate逻辑才能在我的体验中发挥作用。
因此可能值得使用直接NHibernate并跳过ActiveRecord部分,除非你正在构建一个非常简单的应用程序,其中性能调优确实不是问题,因为你现在有各种其他的XML配置选项。