2012-05-28 3 views
1

Я хотел бы знать, как настроить NHibernate «отображение по коду», чтобы при отображении свойства определенного типа он использовал определенный тип userType для выполнения этого сопоставления. Это объясняет это по соглашению.Отображение NHibernate по коду: сопоставление userTypes по соглашению

Например, если у меня есть Account класса со свойством Currency типа 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>(); 
     };