如何将 Castle Activerecord 转换为纯 NHibernate 或 Fluent NHibernate?
我将重构一个不断发展的项目,从使用 Castle Activerecord 到纯 NHibernate 或具有服务/存储库模式和 POCO 的 Fluent NHibernate。
从现有 Castle Activerecord 模型获取 hbm xml 的最简单方法是什么?
另一个问题,是否可以将 hbm 转换为 Fluent NH,反之亦然?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
Remi 已经指出了如何从 ActiveRecord 生成 hbm。还可以使用 ExportTo( 从 Fluent NHibernate 生成 hbm 映射)。不可能将 hbm 转换为 FNH(即 C#)代码,但您可以 从 FNH 加载它们。
使用 Castle ActiveRecord 并不意味着您不能使用存储库。事实上,Castle ActiveRecord 并不强制您使用 ActiveRecord 模式,甚至不需要您在持久类中继承 ActiveRecordBase。您可以使用 ActiveRecordMediator 作为存储库,或将其包装在存储库界面/实现就像Rhino.Commons那样。
Remi already pointed out how to generate hbm from ActiveRecord. It's also possible to generate hbm mappings from Fluent NHibernate by using ExportTo(). It's not possible to convert hbm to FNH (that is, C#) code, but you can load them from FNH.
Using Castle ActiveRecord does not imply that you can't use repositories. In fact, Castle ActiveRecord does not force you to use the ActiveRecord pattern, and it doesn't even require you do inherit ActiveRecordBase in your persistent classes. You can use ActiveRecordMediator as a repository, or wrap it in a repository interface/implementation as Rhino.Commons does.
http://stw.castleproject.org/Active%20Record.Configuration%20Reference。 ashx
我认为这应该为您提供应用程序目录中的映射文件
http://stw.castleproject.org/Active%20Record.Configuration%20Reference.ashx
I think that should give you the mapping file in your application directory
至少有一个开源项目可以将 HMB 转换为 FNH:
http ://code.google.com/p/nhibernate-hbm-to- Fluent-converter/
正如其他人已经说过的,您可以轻松地将 ActiveRecord 转换为 HBM,将 FluentNHibernate 转换为 HBM。
There is at least one open source project to convert HMB to FNH:
http://code.google.com/p/nhibernate-hbm-to-fluent-converter/
As others have already said, you can easily convert ActiveRecord to HBM and FluentNHibernate to HBM.