Dapper:Mapper Query没有像动态对象映射器查询那样获取值

时间:2012-10-26 03:59:09

标签: c# dapper

我是小巧玲珑的初学者。我正在编写代码并构建示例。但我在检索数据时遇到了问题。 我的代码如下

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

在此代码中,objEmp2从db中检索传递的id的值。但是objEmp1为对象的属性提供了空值。

员工类如下

 public  class Employee
    {

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

代码有什么问题。

1 个答案:

答案 0 :(得分:2)

您需要确保所有数据库列都与您用于查询的类中的属性匹配,或者返回名称匹配的列。例如,在上面的查询中,我相信你可能想写它:

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