如何将Castle Activerecord转换为纯NHibernate或Fluent NHibernate?

问题描述 投票:0回答:3

我将把一个不断发展的项目从使用 Castle Activerecord 重构为纯 NHibernate 或具有服务/存储库模式和 POCO 的 Fluent NHibernate。

从现有 Castle Activerecord 模型获取 hbm xml 的最简单方法是什么?

另一个问题,是否可以将 hbm 转换为 Fluent NH,反之亦然?

c# nhibernate fluent-nhibernate castle-activerecord
3个回答
3
投票

Remi 已经指出了如何从 ActiveRecord 生成 hbm。还可以使用 ExportTo() 从 Fluent NHibernate 生成 hbm 映射。无法将 hbm 转换为 FNH(即 C#)代码,但您可以 从 FNH 加载它们。

使用 Castle ActiveRecord 并不意味着您不能使用存储库。事实上,Castle ActiveRecord 并不强制您使用 ActiveRecord 模式,甚至不需要您在持久类中继承 ActiveRecordBase。您可以使用 ActiveRecordMediator 作为存储库,或者像 Rhino.Commons 那样将其包装在存储库接口/实现中。


2
投票

http://stw.castleproject.org/Active%20Record.Configuration%20Reference.ashx

还可以输出nhibernate映射 文件到 AppDomain.BaseDirectory。

我认为这应该为您提供应用程序目录中的映射文件


0
投票
至少有一个开源项目可以将 HMB 转换为 FNH:

http://code.google.com/p/nhibernate-hbm-to- Fluent-converter/

正如其他人已经说过的,您可以轻松地将 ActiveRecord 转换为 HBM,将 FluentNHibernate 转换为 HBM。

© www.soinside.com 2019 - 2024. All rights reserved.