저장된 프로 시저 결과를 객체 내부의 객체에 매핑

c# dapper sql sql-server stored-procedures

문제

Dog 클래스 속성을 가진 Person 클래스가 있다면 :

public class Person{
 public string Name {get;set;}
 public Dog Doggie {get;set;}
}

단일 SP 호출에서 dog 객체와 person 객체를 모두 채우려하지만이 작업을 수행하는 방법을 파악할 수 없습니다.

CREATE PROCEDURE Test
 AS
BEGIN
    SET NOCOUNT ON;

    -- Insert statements for procedure here
      SELECT 
        Name                = p.Person_Name,
        Doggie.Name (This fails) = d.Dog_Name

      FROM My fancy join......
END
GO



  public Person GetByUid(Guid uid)
    {
        Person personToReturn;

        using (var connection = this.connectionFactory.GetOpenConnection())
        {
            try
            {
                personToReturn= connection.Query<Person>("ProcedureName",
                    new {  personUid = uid },
                    commandType: CommandType.StoredProcedure).Single();
            }
            catch ()
            {
                return null;
            }

        }

    return personToReturn;
}

가능한가?

수락 된 답변

QueryMultiple을 사용하고 하나의 저장 프로 시저에 2 개의 SELECT 문을 작성하십시오.

다음은 몇 가지 도우미 링크입니다.

Dapper.NET 및 여러 결과 세트가있는 proc 저장

Dapper.NET을 사용하여 한 번의 왕복으로 여러 SQL 문 제공



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