Instalación y primer ejemplo

1、Pasos para instalar desde NuGet

  1. Cree un proyecto de consola (también puede usarse otro tipo de proyecto; aquí se usa la consola solo como demostración).
  2. En el Administrador de paquetes NuGet, busque AutoMapper (autor: Jimmy Bogard).
  3. Haga clic en Instalar. Debe seleccionar una versión del paquete compatible con la versión de .NET de su proyecto. Si la versión no coincide, se producirá un error en la instalación.

Comando para la Consola del Administrador de paquetes

Install‑Package AutoMapper

2、Creación de las clases de entidad

class Person
{
    public int Age { set; get; }
    public string Name { set; get; }
    public decimal Salary { set; get; }
    public bool Sex { set; get; }
    public DateTime Birthday { set; get; }
}

class People
{
    public int Age { set; get; }
    public string Name { set; get; }
    public decimal Salary { set; get; }
    public bool Sex { set; get; }
    public DateTime Birthday { set; get; }
}Lenguaje del código: JavaScript (javascript)

3、Ejemplo

class Program
{
    static void Main(string[] args)
    {
        // ① Inicialización de la configuración de mapeo: crear el mapeo de Person → People
        Mapper.Initialize(m => m.CreateMap<Person, People>());

        // ② Crear instancia del objeto fuente Person
        Person p = new Person()
        {
            Age = 12,
            Name = "Tom",
            Birthday = DateTime.Now,
            Sex = true,
            Salary = 10000
        };

        // El objeto de destino no puede ser null; debe estar instanciado previamente
        People peo = new People();

        // ③ Ejecutar el mapeo: copiar los valores del objeto fuente p al objeto peo
        Mapper.Map(p, peo);

        // ④ Leer el resultado tras el mapeo
        Console.WriteLine(peo.Name);
        Console.ReadKey();
    }
}Lenguaje del código: JavaScript (javascript)

Puntos clave

  1. Mapper.Initialize: registra las reglas de mapeo de forma global. Ejecútelo una sola vez al iniciar la aplicación; no lo coloque dentro de un bucle.
  2. CreateMap<TipoOrigen, TipoDestino>(): declara el mapeo entre dos clases.
  3. Mapper.Map(objetoOrigen, objetoDestino): el objeto de destino debe estar ya instanciado; no se puede pasar null, de lo contrario se producirá un error.
  4. Regla de convención: si el nombre y el tipo de la propiedad coinciden, se copiarán automáticamente sin necesidad de configuración adicional.

Nota de versión: a partir de AutoMapper 10, ya no se recomienda el uso estático de Mapper.Initialize / Mapper.Map. En su lugar, se debe usar inyección de dependencias con IMapper. El código anterior es solo para aprender versiones antiguas.

Comparación con la asignación manual

  • Manual: peo.Name=p.Name; peo.Age=p.Age;……, cuantos más campos, más código repetitivo.
  • AutoMapper: basta con declarar la relación de mapeo para copiar automáticamente todas las propiedades con el mismo nombre.

Instalación y primer ejemplo

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *