Dapper: Mapper Query no obtiene los valores donde lo hace la búsqueda dinámica de asignador de objetos

c# dapper

Pregunta

Soy un principiante para atiborrarme. Estaba revisando el código y construyendo muestras. Pero estoy teniendo problemas para recuperar datos. Mi código es el siguiente

 Console.WriteLine("Reading Values");
            string readSatement = "select * from employee where Id=@Id ";
             IEnumerable<Employee> objEmp1 = con.Query<Employee>(readSatement,
                 new {
                     Id = empId
                 });

             var objEmp2 = con.Query(readSatement, new { Id = empId }); 

En este código objEmp2 recupera los valores de db para el ID pasado. Pero objEmp1 da valores nulos para los atributos del objeto.

La clase de empleado es la siguiente

 public  class Employee
    {

      public int EmpId { get; set; }
      public string EmpName { get; set; }
      public int EmpAge { get; set; }
    } 

¿Qué pasa con el código?

Respuesta aceptada

Debe asegurarse de que todas las columnas de su base de datos coincidan con las propiedades de su clase que está utilizando para la consulta o devuelva las columnas con los nombres que coincidan. Por ejemplo, en su consulta anterior, creo que es posible que desee escribirlo de la siguiente manera:

select Id as EmpId, otherColumn as Propertyname, etc.. from employee
where Id = @Id


Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué