Mapster icon indicating copy to clipboard operation
Mapster copied to clipboard

Inheritance configuration work on list Map Not Object

Open ShahroozAnsari opened this issue 2 years ago • 2 comments

In this code you see

        TypeAdapterConfig<Request, RequestBaseDto>.NewConfig()
             .Include<PersonalItemRequest, PersonalItemRequestDto>()
             .Include<TrafficRequest, PersonalTrafficRequestDto>()
             .Include<OverTimeRequest, OverTimeRequestDto>()
             .Include<HourlyLeaveRequest, HourlyLeaveRequestDto>()
             .Include<DailyLeaveRequest, DailyLeaveRequestDto>();


            var resault1 = dbContext.Requests.First().Adapt<RequestBaseDto>();

            var resault2 = dbContext.Requests.ToList().Map<List<RequestBaseDto>>();

resault1 is an instance of RequestBaseDto resault2 is an instance of PersonalItemRequestDto casted on RequestBaseDto

the resaul2 is currect an is what i need But the resault 2 is not ok for me and ithink its issue

and I cant make base class RequestBaseDto abstract class.

ShahroozAnsari avatar Jul 21 '23 08:07 ShahroozAnsari

@ShahroozAnsari Can you re-test this with the latest release please? (7.4.0)

andrerav avatar Sep 21 '23 21:09 andrerav

Hello @ShahroozAnsari , list worked from Collection adapter and adapt all element in source collection to Type List<Type> destination. If result2 == list<RequestBaseDto>() and include all element from dbContext.Requests. Then the result directly corresponds to what you specified here .Map<List<RequestBaseDto>>()

DocSvartz avatar Oct 07 '23 10:10 DocSvartz