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をマップできなかったという例外が発生します。 ValidPlacesプロパティにIgnore()を配置しますが、理想的にはそれを渡します。
AutoMapperの専門家なら誰でも助けてくれます。