Как получить значения для дочерних объектов с помощью Dapper ORM?

Я получаю информацию о профиле с помощью следующего:

var profiles = connection.Query<Models.PROFILE>(
    "SELECT * FROM PROFILES WHERE ID=@ID", 
    new { ID = profileID }); // IEnumerable
var profile = profiles.First<Models.PROFILE>();

Объект профиля содержит другие коллекции, такие как profileImages. Проблема в том, что количество элементов для каждого дочернего объекта равно нулю. Также я хочу получить данные, скажем, для profileImages.

Нужно ли что-то настроить для запроса дочерних объектов, и если да, то можно ли указать, какой из них и для скольких уровней?

Я также пробовал мультимаппинг:

var profiles = connection.Query<Models.PHOTOS_PERMISSIONS,
                                Models.PROFILE,
                                Models.PHOTOS_PERMISSIONS>(sql,
                    (p1, p2) => { p1.ID = profileID; return p1; }, 
                    new { ID = profileID }, 
                    splitOn: "OWNER_PROFILESIDFK, ID").AsQueryable();

PHOTOS_PERMISSIONS.OWNER_PROFILESIDFK = PROFILE.ID

И получил следующую ошибку:

При использовании API мультимаппинга -убедитесь, что вы установили параметр splitOn, если у вас есть ключи, отличные от Id Имя параметра :splitOn

Я пробовал варианты того, что находится в моем тексте splitOn, но все равно получаю ту же ошибку.

5
задан kristianp 28 February 2019 в 23:00
поделиться