1、Pasos para instalar desde NuGet
- Cree un proyecto de consola (también puede usarse otro tipo de proyecto; aquí se usa la consola solo como demostración).
- En el Administrador de paquetes NuGet, busque AutoMapper (autor: Jimmy Bogard).
- 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
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.CreateMap<TipoOrigen, TipoDestino>(): declara el mapeo entre dos clases.Mapper.Map(objetoOrigen, objetoDestino): el objeto de destino debe estar ya instanciado; no se puede pasar null, de lo contrario se producirá un error.- 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 conIMapper. 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
Previous: Qué es AutoMapper
Next: Configurar Profile