如何使用Dapper处理多个结果集与多重映射实例教程

2020-01-05 09:27:15王冬梅
Dapper,结果集,多重映射

注意:我已经创建了一个简单的API控制器来测试这个代码,所有的DB访问代码都在里面运行。这只是为了演示目的和现实世界的应用,这样的代码根本不应该被使用。

查询具有1到多关系的查询相关实体

检索相关实体的另一个典型场景是实体之间存在一对多关系。让我们尝试使用组织和联系人的例子来可视化这一点。组织通常具有与其关联的多个联系人。如果我们想要检索一个组织,并且想要检索所有关联的联系人,我们可以利用QueryMultiple来做到这一点。这就是关系在数据库中的样子。

Dapper,结果集,多重映射

首先让我们检查一下如何使用SQL查询做同样的操作。

Dapper,结果集,多重映射

现在,如果我们必须在代码中做同样的事情,我们首先需要定义我们的实体。请注意,我们的实体也将建模一对多关系的方式,每个组织有一个联系人列表。


public class Organization
{
 public int ID { get; set; }
 public string OrganizationName { get; set; }

 public List<contact> Contacts { get; set; }
}

public class Contact
{
 public int ID { get; set; }
 public int OrganizationId { get; set; }
 public string ContactName { get; set; }
}
</contact>