Рассмотрим эти 3 упрощенных примера типов, которые я пропускаю вверх и вниз (хотя на самом деле я выполняю только автоматические вычисления между DomainObject и WrapperClass):
public class DomainObject
{
public int Prop1 {get;set;}
public int Prop2 {get;set;}
public int ComputedValue1 {get;set;}
public int ComputedValue2 {get;set;}
}
public class DALEntity
{
public int Prop1 {get;set;}
public int Prop2 {get;set;}
}
public class Wrapper
{
public DALEntity ToFromDB {get;set;}
public int ComputedValue1 {get;set;}
public int ComputedValue2 {get;set;}
}
DomainObject - это то, с чем имеет дело большая часть моего приложения, а DALEntity - это то, чтомой уровень доступа к данным имеет дело, когда CUDing вокруг с БД.Обратите внимание, что есть (в данном случае) 2 вычисляемых значения, которые не сохраняются - скорее они вычисляются внешне (для этого примера не имеет значения, как).Следовательно, я бы предпочел не включать их в свой DALEntity.
Для отображения вверх (src == DALEntity, dest == DomainObject) я хотел бы сказать Automapper, что для любого поля в DomainObject он не знает, как заполнять,msgstr "искать в этом сложном свойстве свойство, имя которого совпадает".Насколько я понимаю, прямо сейчас мне нужно явно указать все свойства вручную через MapFrom при создании отображения.Было бы реально сэкономить время (и меньше подвержено ошибкам), чтобы иметь возможность указать своего рода оператор использования для отображения.
Полагаю, вы могли бы назвать его "Проекция через подсказку": -)
Возможно ли это в настоящее время?