Я пытаюсь отобразить объекты с помощью автоматического средства.
Моя входная модель:
public class Input
{
public int ID { get; set; }
public ICollection<NestedObject> NestedObjects { get; set; }
}
public class NestedObject
{
public string SomeString { get; set; }
}
Моя выходная модель:
public class Output
{
public int ID { get; set; }
public ICollection<OutputNestedObject> OutputNestedObjects { get; set; }
}
public class OutputNestedObject
{
public int InputID { get; set; }
public string SomeString { get; set; }
}
Мой код отображения:
[Test]
public void TestNesting()
{
var mapper = new MapperConfiguration(cfg =>
{
cfg.CreateMap<Input, Output>()
.ForMember(x=> x.OutputNestedObjects, src=> src.MapFrom(x=> x.NestedObjects))
;
}).CreateMapper();
var input = new Input()
{
ID = 111,
NestedObjects = new List<NestedObject>()
{
new NestedObject(){SomeString = "sometext"},
}
};
var output = mapper.Map<Output>(input);
Assert.AreEqual(input.ID, output.ID);
var inputNested = input.NestedObjects.First();
var outputNested = output.OutputNestedObjects.First();
Assert.AreEqual(input.ID, outputNested.InputID);
Assert.AreEqual(inputNested.SomeString, outputNested.SomeString);
}
Теперь у меня AutoMapperMappingException:
Unmapped properties:
InputID
Я хочу получить объект Output с вложенным объектом OutputNestedObject с идентификатором объекта Input.Как это сделать?
Заранее спасибо!