У меня есть класс, подобный следующему (nb! Имена были изменены, чтобы защитить невинного):
public class Person
{
public virtual int Id { get; private set; }
public virtual string Name { get; set; }
public virtual DateTime Birthday { get; set; }
public virtual TimeSpan Age { get { return DateTime.Now - this.Birthday; } }
}
Я использую Fluent NHibernate для настройки моего отображения:
public class PersonMap : ClassMap<Person>
{
public PersonMap()
{
Id(x => x.Id);
Map(x => x.Name);
Map(x => x.Birthday);
}
}
Проблема в том, что это вызывает исключение:
Не удалось найти установщик для свойства
«Возраст» в классе «Персона»
Если возраст не помечен как виртуальный, я получаю:
Следующие типы нельзя использовать как
прокси: Person: метод get_Age должен
быть «публичным / защищенным виртуальным» или
«защищенный внутренний виртуальный»
Конечно, он не может найти сеттера и не должен! Как я могу заставить это отображение работать?