Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

automapper - how to map object list

Let us say my domain object can contain a bunch of objects like this:

List<Thing> Things

where Thing is defined like this:

class Thing
(
    public int ThingId { get; set; }
    public string ThingName { get; set; }
)

My DTO contains

List<string> ThingIds;
List<string> ThingNames;

The question is how can I use automapper to map Things to the 'relevant bits' in the DTO?

Thanks.

Christian

like image 663
cs0815 Avatar asked Feb 23 '26 22:02

cs0815


1 Answers

By writing custom resolver, i guess.

That's quite unusual requirement - to lose binding between id and name.


I think you are right. sorry I am still learning about the dto/viewmodel mapping. Do you think it is acceptable to put a domain object inside a DTO as there is not much point in creating a dto for Thing?

Do not mix domain model inside view model. You will regret that next week (i did for sure...).

class Thing {
    public int ThingId { get; set; }
    public string ThingName { get; set; }
    public string UnnecessaryProp {get;set;}
}

class ThingViewModel {
    public int ThingId { get; set; }
    public string ThingName { get; set; }
}

class MyView {
    public IEnumerable<ThingViewModel> Things {get;set;}
}

Here You can find some more thoughts about view model.

like image 188
Arnis Lapsa Avatar answered Feb 25 '26 15:02

Arnis Lapsa



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!