Я недавно перешел на Fluent NHibernate 1.1 с версии 1.0, и в миграции произошли серьезные изменения.
Например, поля в доменной модели, такие как
public virtual string CustomerType
{
get { return /*computed value based on _Type which is a column in database */; }
}
public virtual string MemberType
{
get { return _Type; }
set { _Type = value; }
}
, работали нормально, без указания какой-либо конфигурации / соглашения.Теперь выдает ошибку «Не удалось найти сеттер».Я вижу решения, в которых каждый создает переменную-член, такую как customerType или _customerType, или в этом случае помещает защищенный установщик.
Обратите внимание, что CustomerType зависит от другого значения, полученного из базы данных.
Iтакже видели альтернативы, такие как http://support.fluentnhibernate.org/discussions/help/269-fluentnhibernate-11-automapper-doesnt-accept-read-only-properties-anymore, где переопределена конфигурация DefaultAutoMappingConfiguration, например
public override bool ShouldMap(Member member)
{
if (member.IsProperty && !member.CanWrite)
{
return false;
}
return base.ShouldMap(member);
}
Но это означает, что другие поля с частными или защищенными установщиками вообще пропускаются в отображении.
Я ищу решение, в котором Fluent NHibernate не ищет сеттер, когда он не указан, а отображает частные / защищенные сеттеры.
Любые инструкции о том, как это сделать?