Uso del asignador automático central de asp.net

1. Instale el paquete nuget
AutoMapper.Extensions.Microsoft.DependencyInjection
de automapper 2. Cree las clases que deben asignarse y las clases convertidas.

public class studto
    {
    
    
        public int sn {
    
     get; set; }
        public string name {
    
     get; set; }
        public string sex {
    
     get; set; }
        public int age {
    
     get; set; }
        public string addre {
    
     get; set; }
    }

    public class stu
    {
    
    
        public int sn {
    
     get; set; }
        public string name {
    
     get; set; }
        public string sex {
    
     get; set; }
        public int age {
    
     get; set; }
        public string address {
    
     get; set; }
    }

3. Para crear una clase de mapeo, debe heredar la clase de perfil en automatapper.

 public class customProfile : Profile
    {
    
    
        public customProfile()
        {
    
              
            //如果dto类中的字段和实体类中的字段名相同就不需要配置字段,字段不相同,则要配置
            CreateMap<stu, studto>()
            //stu类映射到studto类上,studto类中的addre,与stu类中的address类对应
            CreateMap<stu, studto>().ForMember(dest => dest.addre, opt => opt.MapFrom(src => src.address));
        }
    }

4. Inyecte el servicio automatapper en el programa.

builder.Services.AddAutoMapper(typeof(customProfile));
builder.Services.AddScoped<Iservice, service>();

5. Preparar los datos de la entidad.

public interface Iservice
    {
    
    
        List<stu> lsstu();
    }
public class service : Iservice
    {
    
    
        public List<stu> lsstu()
        {
    
    
            List<stu> stus = new List<stu>();
            stus.Add(new stu() {
    
     sn = 1, name = "pzx", sex = "nan", age = 10, address = "pzx" });
            stus.Add(new stu() {
    
     sn = 2, name = "pzx", sex = "nan", age = 10, address = "pzx" });
            stus.Add(new stu() {
    
     sn = 3, name = "pzx", sex = "nan", age = 10, address = "pzx" });
            return stus;
        }
    }

6. Llame al método de mapa de automatapper mediante la inyección del constructor en el control para completar la conversión de la entidad.

 [HttpGet]
        public IActionResult Index()
        {
    
    
             var ls = iservice.lsstu();
             var dtols = _mapper.Map<List<stu>, List<studto>>(ls)
        }

efecto de llamada
Insertar descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/qq_41942413/article/details/133319361
Recomendado
Clasificación