2012-05-28 107 views
1

我想知道如何配置NHibernate“通过代码映射”,以便当我映射某个类型的属性时,它使用特定的userType来执行映射。它按惯例计算出来。NHibernate通过代码映射:通过约定映射userTypes

例如,如果我有一个AccountCurrency类型的属性Currency,然后NHibernate的配置应该弄清楚(约定),它需要使用CurrencyUserType执行映射。

我无法找到相关的文档,所以如果这样的文档确实存在,那么一些链接也将被赞赏。

注意:这不是一个FluentNHibernate问题。

回答

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>(); 
     }; 
相关问题