如何使用Dapper ORM将SQL Select查询拆分为两个Model C#

时间:2019-11-15 04:49:31

标签: c# orm mapping dapper

Team select data with pagination info.

我想用C#中的DAPPER ORM将数据分为两个单独的模型,从一个模型中的一列之间的TeamIdLocation到另一个模型中的RowNumberPageCount精巧的模型。

1 个答案:

答案 0 :(得分:1)

我相信您要模拟的将是一个对象,例如:

public class Team
{
     public int Id { get; set; }
     public string Name { get; set; }
     public Supervisor Supervisor { get; set; }
     public Location Location { get; set; }
}

实际上,使用Dapper最多可以实现七个对象,基本上您在SQL中会执行以下操作:

public IEnumerable<Team> GetTeams() => dbConnection.Query<Team, Supervisor, Location, Team>(query, 
(team, supervisor, location, team) => 
{
   team.Supervisor = supervisor,
   team.Location = location,
   return team;  
});

您可以找到有关其多对象映射here的文档。我应该指出,除非另有说明,否则它会在ID上分开,并且对象在查询结果中出现的顺序也是如此。