使用AutoMapper自动映射

Nuget:AutoMapper.Extensions.Microsoft.DependencyInjection

User类添加要展示的项:

public class MUser
{
    public string user_name { get; set; }
    public string login_name { get; set; }
    public string password { get; set; }
    public string tel { get; set; }
    public string look_name => user_name + "("+ login_name + ")";
}

 

添加AutoMapperConfigs类:

public class AutoMapperConfigs : Profile
{
    public AutoMapperConfigs()
    {
        CreateMap<User, MUser>();
    }
}

再在Startup类ConfigureServices方法中进行依赖注入:

//添加对AutoMapper的支持
services.AddAutoMapper(typeof(AutoMapperConfigs));

控制器的构造函数里面进行赋值:

public UserController(IUser user, IMapper mapper)
{
    _user = user;
    this.mapper = mapper;
}

然后就可以使用了:

public IEnumerable<MUser> Get()
{
    var userlist = _user.GetAllUsers();
    var users = mapper.Map<List<MUser>>(userlist);
    return users;
}

 

参考:https://blog.csdn.net/weixin_41472521/article/details/102922870

posted @ 2021-03-24 19:36  kueizheng  阅读(171)  评论(0)    收藏  举报