Dapper: la requête Mapper n'obtient pas les valeurs où fait comme la requête Dynamic Object Mapper Query

c# dapper

Question

Je suis un débutant à pimpant. Je parcourais le code et construisais des échantillons. Mais j'ai des problèmes pour récupérer des données. Mon code est le suivant

 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 }); 

Dans ce code, objEmp2 récupère les valeurs de la base de données pour l'ID transmis. Mais objEmp1 donne des valeurs nulles pour les attributs de l'objet.

La classe des employés est comme ci-dessous

 public  class Employee
    {

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

Quel est le problème avec le code?

Réponse acceptée

Vous devez vous assurer que toutes les colonnes de votre base de données correspondent aux propriétés de votre classe que vous utilisez pour la requête ou que vous renvoyez les colonnes avec des noms correspondants. Par exemple, dans votre requête ci-dessus, je pense que vous voudrez peut-être l'écrire comme suit:

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



Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi