중첩 된 객체에 대한 Dapper 쿼리 작성

dapper orm

문제

나는 아래와 같은 코드 구조를 가지고있다 :

class Person
{
    Name PersonName;
    int Age;
}

class Name
{
    string FirstName { get; set; }
    string LastName { get; set; }
}

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

Create Procedure SpGetAllPersons
As
Select FirstName, LastName, Age from Persons

데이터베이스에서 모든 사람을 끌어 오는 Dapper 쿼리는 어떻게 작성합니까?

예:

List<Person> Persons = DbConn.Query<Person>("SpGetAllPersons", CommandType.StoredProcedure);

수락 된 답변

중첩 된 객체를 선택하려면 다중 매퍼를 사용해야합니다.

이 작동합니다.

List<Person> persons = DbConn.Query<Name,Person,Person>
  ("SpGetAllPersons",
     (name,person) => {person.Name = name; return person;} 
     commandType: CommandType.StoredProcedure, 
     splitOn: "Age");

멀티 맵퍼는 db 테이블에 매핑되지 않은 집계 유형조차도 모든 유형을 반환 할 수 있습니다.

idId 불려지지 않은 것을 split하려는 경우 splitOn 매개 변수를 제공하는 것이 중요합니다.



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