Introducción a AutoMapper - ¿Qué es AutoMapper? ¿Cómo se usa? ¿Deberías usarlo en tu proyecto?

Поділитися
Вставка
  • Опубліковано 16 гру 2024

КОМЕНТАРІ • 40

  • @CubidesH
    @CubidesH 9 місяців тому

    Gracias Gabriel. Valoro mucho que además de la explicación del concepto, el ejemplo lo vincule con el resto de la arquitectura y funcionalidad. Tu video está muy bien explicado y eres un profe de alto valor.

  • @ianw3668
    @ianw3668 Рік тому

    super buena explicación, gracias.

  • @alexsantacruz7205
    @alexsantacruz7205 2 роки тому

    Excelente explicacion! tenia problemas al mapear propiedades complejas y tu video me ayudo a solucionarlo. Gracias

  • @nahuellavrut4042
    @nahuellavrut4042 2 роки тому

    Genial! Lo he usado algunas veces, pero en un par de proyectos venía mapeando a mano y quería recordar cómo era. Saludos!

  • @RobertoDeLaRosaCarbonell
    @RobertoDeLaRosaCarbonell 9 місяців тому

    High Value Content 👌👌

  • @SergioGarcia-gf6sp
    @SergioGarcia-gf6sp 3 роки тому +1

    Muchas gracias, me ha servido de ayuda.

  • @nelson3391
    @nelson3391 3 роки тому

    Mil gracias por esta explicación.

  • @geraldbustos
    @geraldbustos 2 роки тому

    buen video crack!

  • @alejandromartinez-gj4tm
    @alejandromartinez-gj4tm 2 роки тому

    Excelente. Muchas gracias

  • @DrugstoreFedeSumma
    @DrugstoreFedeSumma 3 роки тому

    Maravilloso el video. Gracias por compartir.....

  • @davis0166
    @davis0166 2 роки тому +1

    Gracias por tus videos, estoy tomando el curso de blazor en Udemy muy bueno tmb!!

    • @TheCoderCave
      @TheCoderCave  2 роки тому

      Muchas gracias por tus palabras David!

  • @jeffersonhernandez9191
    @jeffersonhernandez9191 3 роки тому +1

    sigue así amigo y gracias por tu conocimiento

  • @mcmario108
    @mcmario108 3 роки тому

    Este video vale oro, Gracias por esta intro

    • @mcmario108
      @mcmario108 3 роки тому

      @Gunnar Dustin stop the scam

  • @totenkorpf
    @totenkorpf 3 роки тому

    Que crack muy bien explicado!!!!

  • @fernandopoveda9861
    @fernandopoveda9861 3 роки тому

    Una pequeña lección, pero muy importante la forma en que se demuestra su utilidad...

  • @feliperosaszambrano6257
    @feliperosaszambrano6257 3 роки тому

    muy buen video, recien me estoy cambiando de java a c# y tus videos tienen muy buen contenido 👏

  • @andresgarciaalves
    @andresgarciaalves 3 роки тому

    Muy buena tu forma de explicar, gracias x compartir 👏🏻👏🏻👏🏻

  • @William1974-d3r
    @William1974-d3r 3 роки тому

    Excelente.
    Gracias maestro!!!

  • @Marcos-XurryPET
    @Marcos-XurryPET 11 місяців тому

    Buenas.
    Buen tuto, pero a partir del minuto 19 donde son propiedades complejas, tuvieramos un ICollection del tipo Addres??? como mostramos todas sus Address formateadas dentro de .ForMember?
    Saludos.

  • @DjTitoxxVzla
    @DjTitoxxVzla 2 роки тому

    Hola, Sabes usar ABP Framework? seria bueno un tuto jeje

  • @rdrgox
    @rdrgox 3 роки тому

    Excelente!!!!

  • @deibymontoya9284
    @deibymontoya9284 Рік тому

    Genial! Pero no respondiste esa pregunta tan importante ¿Debería usarlo?

  • @roman-tp6sd
    @roman-tp6sd 3 роки тому

    moyyy boenooo, aunque prefiero mapear a mano. Gracias.

  • @FragoMadara
    @FragoMadara 3 роки тому

    Excelente aporte, tengo una consulta con respecto a las propiedades compuestas, si fuera: public List addres {get; set;} funcionará exactamente igual?

    • @Gilgameshx
      @Gilgameshx 3 роки тому +1

      En teoria si, pero para mostrar los datos tendrias que recorrer la lista ejemplo for(x =0; x.model.lista.Count; x++;) y ahi asignas las propiedades ejemplo model.lista[x].atributo

    • @FragoMadara
      @FragoMadara 3 роки тому

      @@Gilgameshx por supuesto, cualquier ciclo que recorra la lista, pero pregunto ya que hay procedimientos que funcionan con ciertos tipos de datos y con otros no, gracias por tu comentario.

  • @raphymejia1519
    @raphymejia1519 3 роки тому

    Que pasa si, con una colección de datos. Ejemplo quiero mostrar una factura con sus detalles como mapper trabaja?

  • @lourdeesmurua6687
    @lourdeesmurua6687 2 роки тому

    en .net 6 desparece startups, en ese caso como quedaria la inyeccion?

  • @pfecs
    @pfecs 3 роки тому

    alguien me pasa el link de la libreria para armar los repositorios y servicios por favor? me interesa a demas de este, y no lo encuentro

  • @williamprogramer4168
    @williamprogramer4168 3 роки тому +1

    ⭐⭐⭐⭐⭐

  • @JuanM-ck4jg
    @JuanM-ck4jg 3 роки тому

    Hola , sabes como podria hacer si yo tengo 2 objetos, el primero es Estudiante con codigo, Nombre , apellido, nota , usuarioregistro y usurioActualizo (Este primero tiene los 3 valores) y el segundo solo tiene codigo, nota y usurioActualizo, se me origino este problema debido a que cuando envio los datos del objeto con menos parametros , mi objeto origen pierde los datos de usuarioregistro , nombre y apellido.(Se me origino ya que yo deseo actualizar ese registro por entity y obviamente al actualizar me registra los otros como null :C , me ayudarias mucho respondiendo ojo que es un ejemplo parecido al que tengo )
    Saludos.

    • @bryanhinostrozasoftware
      @bryanhinostrozasoftware Рік тому

      Hola, me pasa igual para los métodos Update, encontraste la solución?

    • @JuanM-ck4jg
      @JuanM-ck4jg Рік тому

      @@bryanhinostrozasoftware mmmm si creo pero no recuerdo bien, creo que le hice un get al objeto por el codigo, despues le sete a ese objeto los valores que no sean null.

    • @JuanM-ck4jg
      @JuanM-ck4jg Рік тому

      @@bryanhinostrozasoftware algo asi
      using Microsoft.EntityFrameworkCore;
      // ...
      public void ActualizarEstudiante(Estudiante estudianteActualizado)
      {
      using (var context = new TuDbContext())
      {
      // Recuperar el estudiante existente
      var estudianteExistente = context.Estudiantes.FirstOrDefault(e => e.Codigo == estudianteActualizado.Codigo);
      if (estudianteExistente != null)
      {
      // Actualizar solo las propiedades no nulas del objeto estudiante existente
      if (estudianteActualizado.Nombre != null)
      {
      estudianteExistente.Nombre = estudianteActualizado.Nombre;
      }
      if (estudianteActualizado.Apellido != null)
      {
      estudianteExistente.Apellido = estudianteActualizado.Apellido;
      }
      if (estudianteActualizado.Nota.HasValue)
      {
      estudianteExistente.Nota = estudianteActualizado.Nota.Value;
      }
      // Guardar los cambios en la base de datos
      context.SaveChanges();
      }
      }
      }

    • @JuanM-ck4jg
      @JuanM-ck4jg Рік тому

      @@bryanhinostrozasoftware
      Este podria ser para todas las propiedades idea de chat got
      using Microsoft.EntityFrameworkCore;
      using System.Linq;
      using System.Reflection;
      // ...
      public void ActualizarEstudiante(Estudiante estudianteActualizado)
      {
      using (var context = new TuDbContext())
      {
      // Recuperar el estudiante existente
      var estudianteExistente = context.Estudiantes.FirstOrDefault(e => e.Codigo == estudianteActualizado.Codigo);
      if (estudianteExistente != null)
      {
      // Obtener las propiedades del objeto actualizado
      PropertyInfo[] propiedades = estudianteActualizado.GetType().GetProperties();
      foreach (var propiedad in propiedades)
      {
      // Obtener el valor de la propiedad actualizada
      var valorPropiedad = propiedad.GetValue(estudianteActualizado);
      // Actualizar la propiedad si no es nula
      if (valorPropiedad != null)
      {
      // Obtener la propiedad correspondiente en el estudiante existente
      var propiedadExistente = estudianteExistente.GetType().GetProperty(propiedad.Name);
      // Actualizar el valor de la propiedad en el estudiante existente
      propiedadExistente.SetValue(estudianteExistente, valorPropiedad);
      }
      }
      // Guardar los cambios en la base de datos
      context.SaveChanges();
      }
      }
      }

  • @nirvancra
    @nirvancra 3 роки тому

    Porque meter reflexión en una tarea tan simple, mejor sería crear métodos extendido. Sobrevalorada a mi gusto.