Я только что провел рефакторинг своего приложения, чтобы избавиться от слоя объекта домена, потому что это вызывало медленную загрузку NHibernate - я заметил это с помощью NHProf и возложил вину на AutoMapper.
Я видел у других похожие проблемы. Поэтому, применяя YAGNI, я решил полностью избавиться от слоя DTO и иметь только один набор доменных объектов - для меня это имеет смысл.
Однако у меня было несколько свойств в моих объектах домена, которые не существуют в моих отображенных объектах. Я перенес их в сопоставленные объекты уровня данных, но теперь получаю ошибки NHibernate, потому что они не являются виртуальными.
Я правда не хочу, чтобы они были виртуальными? Это либо просто свойства Getter, работающие с другими сопоставленными свойствами, либо установленные в бизнес-логике.
У кого-нибудь есть идеи? Google не помогает.