Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to use AutoMapper .ForMember?

I am trying to set up AutoMapper to convert from Entity to DTO. I know I'm supposed to be using .ForMember() after Mapper.CreateMap<Entity, DTO>() to set up custom mappings, but this doesn't seem to be an available method.

Edit for clarification: I am not looking for a link to the documentation, which I have read, or an explanation of the basic syntax. I am using the correct syntax as described in answers and the documentation, for example:

Mapper.CreateMap<EFAddress, Address>()       .ForMember(dest => dest.Code, opt => opt.MapFrom(src => src.Name)); 

If I have an invalid type name within CreateMap<> I can see "ForMember" as a valid method, mousing over shows the method signature as I would normally expect. But as soon as I give it two valid types, ForMember says it cannot resolve the symbol, as if the method is not available.

Is there some kind of constraint on the generic classes which I am not meeting?

Thanks

like image 678
Nellius Avatar asked Aug 08 '11 16:08

Nellius


People also ask

When should I use AutoMapper?

Use AutoMapper to eliminate the need to write tedious boilerplate code when mapping objects in your application. AutoMapper is a popular object-to-object mapping library that can be used to map objects belonging to dissimilar types.

How do I use AutoMapper in .NET core?

AutoMapper Mapping ProfileTo create a mapping profile, create a class that derives from AutoMapper Profile class. Use CreateMap method to create a mapping from one type to another. CreateMap method is called twice to create 2 mappings. Employee to EditEmployeeModel and the reverse.


1 Answers

Try the following syntax:

Mapper     .CreateMap<Entity, EntityDto>()     .ForMember(         dest => dest.SomeDestinationProperty,         opt => opt.MapFrom(src => src.SomeSourceProperty)     ); 

or if the source and destination properties have the same names simply:

Mapper.CreateMap<Entity, EntityDto>(); 

Please checkout the relevant sections of the documentation for more details and other mapping scenarios.

like image 115
Darin Dimitrov Avatar answered Oct 02 '22 23:10

Darin Dimitrov