У вас есть два варианта здесь. Вы можете использовать функцию нескольких наборов результатов:
https://medium.com/dapper-net/handling-multiple-resultsets-4b108a8c5172
Или другой вариант, который, на мой взгляд, лучше вернуть объединенный результат в виде JSON, например, с помощью запроса, подобного следующему:
select
continents.continent_id,
continents.continent,
countries.country_id,
countries.country,
cities.city_id,
cities.city
from
dbo.Continent continents
inner join
dbo.Country countries on continents.continent_id = countries.continent_id
inner join
dbo.City cities on countries.country_id = cities.country_id
for
json auto
, который возвращает JSON вроде этого:
{
"continent_id": 1,
"continent": "Africa",
"countries":
[
{
"country_id": 1,
"country": "Nigeria",
"cities":
[
{
"city_id": 1,
"city": "Lagos"
}, {
"city_id": 2,
"city": "Abuja"
}
]
}
]
}
и затем его можно превратить в сложный объект с помощью пользовательской обработки типов:
https://medium.com/dapper-net/custom-type-handling-4b447b97c620
Ссылки на статьи, которые я написал на эту тему.