Mapper.CreateMap<BusinessObject, Proxy.DataContacts.DCObject>()
.ForMember(x => x.ExtensionData, y => y.Ignore())
.ForMember(z => z.ValidPlaces, a=> a.ResolveUsing(typeof(ValidPlaces)));
Mapper.AssertConfigurationIsValid();
proxydcObject = Mapper.Map<BusinessObject, Proxy.DataContracts.DCObject>(_instanceOfBusinessObject); //throws an exception saying ValidPlaces could not be resolved
public class BusinessObject
{
public Enum1 Enum1 { get; set; }
public List<ValidPlaces> ValidPlaces{ get; set; }
}
public class ValidPlaces
{
public int No { get; set; }
public string Name { get; set; }
}
public class DCObject
{
[DataMember]
public Enum1 Enum1 { get; set; }
[DataMember]
public List<ValidPlaces> ValidPlaces{ get; set; }
}
Mapper.CreateMap работы найти, когда Mapper.AssertConfigurationIsValid();
(Исключения не выбрасываются на этой линии) называется, но , когда я на самом деле назвать в службу WCF на следующей строке, которая не показана здесь Automapper выбрасывает и исключает высказывание ValidPlaces не может быть сопоставлено. Замечательно, если я помещаю Ignore() в свойство ValidPlaces, но в идеале хочу, чтобы это прошло.Automapper -cannot разрешить общий список
Любые эксперты AutoMapper, помогающие нам в оказании помощи.
В моем DCObject есть расширение, но бизнес-объект не имеет этого свойства, и поэтому я помещаю это на место, иначе я получаю сообщение об ошибке. Также T == U в моем случае, но я хочу, чтобы список переведен в Список –
chugh97
Это прекрасно. AutoMapper автоматически поддерживает список без дополнительной настройки. Я могу это сделать: Mapper.Map > (новый [] {1, 2, 3}); С нулевой конфигурацией. Вам нужно только регистрировать типы элементов, и поскольку типы элементов идентичны в вашем случае, дополнительная настройка не требуется. AutoMapper поддерживает назначаемые типы из коробки. –