按代码进行NHibernate映射:按惯例映射userTypes

时间:2012-05-28 10:20:09

标签: nhibernate mapping-by-code

我想知道如何配置NHibernate“按代码映射”,这样当我映射某种类型的属性时,它会使用某个userType来执行该映射。它按惯例计算出来。

例如,如果我的Account类具有类型为Currency的属性Currency,则NHibernate配置应该(按照惯例)计算出它需要使用{ {1}}执行映射。

我无法找到相关文档,因此如果存在此类文档,那么也会感谢一些链接。

注意:这不是FluentNHibernate问题。

1 个答案:

答案 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>();
       };