怪奇物语

怪奇物语

首页 新随笔 联系 管理

AutoMapper中映射对象属性不同的处理 Creating Rules for Mapping Properties With Different Names

But what if we have different property names in our source and destination objects.
Let’s take a look at
how to do the mapping in these cases.

In UserViewModel class:

public class UserViewModel
{
    public string FName { get; set; }
    public string LName { get; set; }
    public string Email { get; set; }
}

Here we need to map the properties from the User domain object to our UserViewModel:

User.FirstName -> UserViewModel.FName
User.LastName -> UserViewModel.LName
User.EMail -> UserViewModel.Email

So, let’s change the mapping in the UserProfile class:

public UserProfile()
{
    CreateMap<User, UserViewModel>()
        .ForMember(dest =>
            dest.FName,
            opt => opt.MapFrom(src => src.FirstName))
        .ForMember(dest =>
            dest.LName,
            opt => opt.MapFrom(src => src.LastName))
}

We use the CreateMap() method to create a mapping
by providing the source and destination properties.

If we want to customize the configuration for individual members,
we can use the ForMember() method
which has the parameters destinationMember, which is of type Expression and memberOptions, which is of type Action.

原文地址 code-maze.com

posted on 2024-12-26 08:00  超级无敌美少男战士  阅读(47)  评论(0)    收藏  举报