我将把一个不断发展的项目从使用 Castle Activerecord 重构为纯 NHibernate 或具有服务/存储库模式和 POCO 的 Fluent NHibernate。
从现有 Castle Activerecord 模型获取 hbm xml 的最简单方法是什么?
另一个问题,是否可以将 hbm 转换为 Fluent NH,反之亦然?
Remi 已经指出了如何从 ActiveRecord 生成 hbm。还可以使用 ExportTo() 从 Fluent NHibernate 生成 hbm 映射。无法将 hbm 转换为 FNH(即 C#)代码,但您可以 从 FNH 加载它们。
使用 Castle ActiveRecord 并不意味着您不能使用存储库。事实上,Castle ActiveRecord 并不强制您使用 ActiveRecord 模式,甚至不需要您在持久类中继承 ActiveRecordBase。您可以使用 ActiveRecordMediator 作为存储库,或者像 Rhino.Commons 那样将其包装在存储库接口/实现中。