Dan*_*Dan 74 .net subsonic nhibernate orm
什么是何时使用这些工具中的一个而不是另一个?我发现Subsonic在快速完成任务方面非常有用,但在大型项目中,它往往无法扩展,并且它将您的域模型与数据库模型联系起来.这就是Nhibernate的用武之地,因为它为您提供了与您的数据库模型无关的轻量级POCO,但设置时间要长得多.
小智 84
我被问到很多这个问题,实际上归结为你想要多少钱.我无法告诉你Chris Cyvas对RE SubSonic扩展的评论是多么具有破坏性 - 从那以后我一直在回应这些:(.
这笔交易是 - 穿孔,SubSonic非常好.在项目增长方面 - 您使用的任何工具都需要您的关注.甚至NHibernate.
我在SubSonic 2.1上写了一篇关于如何使用DI(如同使用NHIb或任何工具一样)使用Repository模式的帖子:
http://blog.wekeroad.com/blog/subsonic-writing-decoupled-testable-code-with-subsonic-2-1/
我还写了一篇关于SubSOnic表现的文章:
http://blog.wekeroad.com/blog/subsonic-scaling/
希望这可以帮助.
Jon*_*way 45
如果您的项目使用ActiveRecord视图,数据库是您的模型,我建议使用SubSonic.你会得到每桌一个班级,一切都神奇地起作用.你当然可以调整和覆盖一些东西,但如果你(或你的项目)从根本上不同意每表类的方法,我会看看NHibernate,因为它从更复杂(但更灵活)的映射方法开始域模型到您的数据库.
如果你使用的是一个相对简单的数据库,你可以在你的控制之下(如你所知,你可以在不向数据库部门监督审查委员会发送八个表格的情况下更改列),我建议从SubSonic开始,如果SubSonic没有,请转到NHibernate满足您的需求.
Fry*_*ard 13
稍微偏离主题,但以类似的方式.您是否看过Castle ActiveRecord,它是在NHibernate之上编写的,无需花时间从代码到数据库创建XML映射.与NHibernate一样,您可以根据需要构建域对象,然后从此结构生成数据库模式.
使用ActiveWriter,一个贡献的工具,您可以轻松地从数据库映射到域对象.
小智 9
你可以考虑看一下Fluent NHibernate; 它使管理NHibernate变得轻而易举.不确定转换现有模式有多难,但如果你正在构建一个新的应用程序,那么定义域模型并在几乎任何你能想到的数据库服务器中生成数据库都是很好的.通过阅读其他评论,我认为Fluent NHibernate使NHibernate与SubSonic相提并论,易于配置.
我已对两者进行了评估,并且我认为在不了解您的目标的情况下推荐一个而不是另一个是不公平的.在你的问题中,你很好地说明了这些差异,我认为这需要成为你的决定因素.就个人而言,我已经使用了两者,并将继续使用两者,具体取决于项目.