Hacemos una revisión completa cada uno de los posts de nuestra web con la meta de enseñarte en todo momento la información veraz y actualizada.
Solución:
Puede inicializar Automapper en el inicio de la consola, no hay limitaciones; Application_start es el lugar de inicio de un programa web en .net/iis, es decir, código que se llama una sola vez. Cualquier configuración que deba llamar al inicio de un proyecto web va en este método.
editar para comentar: si no desea crear sus asignaciones sobre la marcha, sino que prefiere tener un lugar para inicializar todas sus asignaciones, simplemente cree una función llamada InitializeAutomapper
y hacer el Mapper.Configure
llamadas aquí. Entonces en tu Main()
método, simplemente llame a la función. Hay muchas formas de manejar la configuración, pero esta es la forma más sencilla de manejarla.
ejemplo de código
class Program
static void Main(string[] args)
// the app is starting here
InitializeAutomapper();
// we're configured, let's go!
DoStuff();
static void InitializeAutomapper()
AutoMapper.Mapper.CreateMap();
AutoMapper.Mapper.CreateMap();
AutoMapper.Mapper.CreateMap();
Sé que esta es una pregunta antigua, pero si encontró esto, quiero agregar una actualización: Automaper no permite static inicialización más.
Puedes consultar más aquí
A continuación, proporciono un ejemplo completo de cómo usarlo en una aplicación de consola. Espero que esto pueda ser útil para alguien en el futuro.
class Program
static void Main(string[] args)
var config = new MapperConfiguration(cfg =>
cfg.CreateMap();
);
IMapper mapper = config.CreateMapper();
var myClass = new MyClass()
Id = 10,
Name = "Test"
;
var dst = mapper.Map(myClass);
Console.WriteLine(dst.Id);
class MyClass
public int Id get;set;
public string Name get;set;
public class MyClassDTO
public int Id get;set;
public string Name get;set;
No olvides incluir using AutoMapper;
Si sostienes alguna perplejidad y forma de desarrollar nuestro tutorial te invitamos escribir una acotación y con placer lo ojearemos.