【问题标题】:Mapping one to many with Dapper (Two list with one object)使用 Dapper 映射一对多(一个对象的两个列表)
【发布时间】:2023-03-09 06:22:01
【问题描述】:

我有两个列表的学生对象。我想从存储过程中检索学生列表。我如何使用 dapper 获取带有提到的两个列表的学生对象列表。

公开课学生 { 公共 int StudentId { 获取;放; }

public string RefNo { get; set; }

public int StudentModeId { get; set; }

public string FullName { get; set; }

public string KnownName { get; set; }

public List<StudentAttachment> StudentAttachments { get; set; }
public List<StudentExpenses> StudentExpenceses { get; set; }

}

【问题讨论】:

    标签: c# sql asp.net api dapper


    【解决方案1】:

    你可以使用QueryMultiple

    如果您尝试从 1 个存储过程中有效地返回 2 个列表,然后将它们填充到 2 个单独的列表中,您可以执行以下操作:

     var parameters = new DynamicParameters();
     parameters.Add("@myParam1", myParam1);
     parameters.Add("@myParam2", myParam2);
    
     string myQuery = "Your query here";
     var yourFirstList = new List<YourListType>();
     var yourSecondList = new List<YourSecondListType>();
    
     using (var multi = db.QueryMultiple(myQuery, parameters))
     {
         yourFirstList = multi.Read<YourListType>().ToList();
         yourSecondList = multi.Read<YourSecondList>().ToList();
     }
    

    您必须确保知道结果集返回的顺序才能执行此操作,即您的第一个列表是第一个列表,第二个列表是您的第二个列表类型。

    【讨论】:

      猜你喜欢
      • 2018-03-27
      • 1970-01-01
      • 1970-01-01
      • 2021-04-28
      • 2012-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多