Saltar al contenido

¿Se puede usar Automapper en una aplicación de consola?

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.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

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