다퍼 다중 매핑

c# dapper

문제

Dapper 문서에서 세미 - 심플 오브젝트 나 단순 오브젝트에 대한 멀티 맵핑을 명확하게 볼 수 있습니다. 예를 들면 :

public class Post
{
     public int Id { get; set; }
     public string Name { get; set; }
     public User Owner { get; set; }
}

public class User
{
     public int Id { get; set; }
     public string Name { get; set; }
}

IDbConnection.QueryAsync<Post, User, Post>(query, (post, user) => { post.Owner = user; return post; }, new { Id = id }, null, true, "id", CommandType.Text);

문제는 Dapper가 둘 이상의 내부 객체를 갖는보다 복잡한 객체를 처리하도록하는 방법입니다. 예를 들면 :

public class PlotStemDomain
{
     public int Id { get; set; }
     ...
     public PlotDomain Plot { get; set; }
     public SpeciesDomain species { get; set; }
}

public class PlotDomain
{
     public int Id { get; set; }
     ...
}

public class SpeciesDomain
{
     public int Id { get; set; }
     ...
}

단일 Func<Post, User, Post> 만 처리 할 때 나타납니다.

수락 된 답변

Dapper의 Multi-Mapping은 매핑 할 약 7 개의 객체를 지원합니다. 또 다른 방법은 QueryMultiple을 사용하는 것입니다. 예를 들어,이 스레드 를 참조하십시오, 그것은 매우 비슷합니다 ...



아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow