2012-05-28 106 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>(); 
     }; 
相關問題