我想知道如何配置NHibernate“按代码映射”,这样当我映射某种类型的属性时,它会使用某个userType来执行该映射。它按惯例计算出来。
例如,如果我的Account
类具有类型为Currency
的属性Currency
,则NHibernate配置应该(按照惯例)计算出它需要使用{ {1}}执行映射。
我无法找到相关文档,因此如果存在此类文档,那么也会感谢一些链接。
注意:这不是FluentNHibernate问题。
答案 0 :(得分:2)
var mapper = new ConventionModelMapper();
mapper.IsProperty((info, b) => b || info.GetPropertyOrFieldType() == typeof(Currency));
mapper.BeforeMapProperty +=
(inspector, member, customizer) =>
{
if (member.LocalMember.GetPropertyOrFieldType() == typeof(Currency))
customizer.Type<CurrencyUserType>();
};