중첩 된 다중 매핑에 대한 Dapper 구문

.net dapper multi-mapping

문제

    Create Procedure SpGetAllPersons
    As
    Select CntyName, CntyCode, StreetName, Age from Persons

다음은 데이터베이스의 데이터를 채우는 Stored Proc입니다.

    Create Procedure SpGetAllPersons
    As
    Select CntyName, CntyCode, StreetName, Age from Persons

나는 아래 쿼리를 작성하려고했지만 예외가 발생했습니다.

    Create Procedure SpGetAllPersons
    As
    Select CntyName, CntyCode, StreetName, Age from Persons

아래 개념을 사용하려고했지만 단일 객체 만 반환합니다. 나는 명단이 필요해.

    Create Procedure SpGetAllPersons
    As
    Select CntyName, CntyCode, StreetName, Age from Persons

미리 감사드립니다.

수락 된 답변

그것에 뛰어 드는 Mark와 Bob에게 감사드립니다. 다른 방법으로 문제를 해결할 수있었습니다.

    DBConn.Query(DomainConstants.SpGetAllPersons, commandType: CommandType.StoredProcedure)
    .Select(x => new Person
    {
        Addr = new Address
        {
            Cnty = new County
            {
                CntyName = x.CntyName,
                CntyCode = x.CntyCode
            },
            StreetName = x.StreetName
        },
        Age = x.Age
    }).ToList();

전문가 답변

음, 예를 들어 당신은 하나의 행을 선택하는, 그래서 어느 하나 이상 반환하지 않습니다. 그러나 Query<T>IQueryable<T> 반환합니다. 당신은 .First() 호출하고 있습니다 .First() 그래서 당신이 정확히 하나의 결과를 얻는 것은 놀라운 일이 아닙니다. 명령문의 마지막 부분을 .ToList() 를 사용하도록 변경하면 .ToList() 하나의 항목이있는 목록이 생성됩니다.




아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.