Automapper expression must resolve to top-level member
.net, automapper, automapper-2
Solution
You are using :
Mapper.CreateMap<Source, Destination>()
.ForMember( dest => dest.OutputData.Cars,
input => input.MapFrom(i => i.Cars));
This won't work because you are using 2 level in the dest lambda.
With Automapper, you can only map to 1 level. To fix the problem you need to use a single level :
Mapper.CreateMap<Source, Destination>()
.ForMember( dest => dest.OutputData,
input => input.MapFrom(i => new OutputData{Cars=i.Cars}));
This way, you can set your cars to the destination.
Problem
I am using automapper to map source and destination objects. While I map them I get the below error. Expression must resolve to top-level member. Parameter name: lambdaExpression I am not able resolve the issue. My source and destination objects are: ``` public partial class Source { private Car[] cars; public Car[] Cars { get { return this.cars; } set { this.cars = value; } } } public partial class Destination { private OutputData output; public OutputData Output { get { return this.output; } set { this.output= value; } } } public class OutputData { private List<Cars> cars; public Car[] Cars { get { return this.cars; } set { this.cars = value; } } } ``` I have to map `Source.Cars` with `Destination.OutputData.Cars` object. Could you please help me in this?