Asp.net Dapper и Left Join

Рейтинг: 2Ответов: 0Опубликовано: 23.06.2023

Есть сущность пользователя, есть сущность покупок пользователя. У пользователя может быть несколько покупок. Я хочу получить список всех пользователей вместе со списком покупок. Я написал SELECT с LEFT JOIN вида SELECT * FROM users LEFT JOIN orders ON users.id = orders.user_id. Затем обрабатываю результат запроса:

users = await connection.QueryAsync<User, Order, User>(query, (user, order) =>
            {
               ...
            });

Суть в том, что в случае, когда у пользователя нет покупок, внутренняя переменная order инициализируется значениями по умолчанию, вместо null. И в итоге я получаю, что у каждого пользователя есть минимум 1 покупка, хотя по факту ее нет. Как сделать так, чтобы order был равен null в случае, если покупки нет? Т.е. как при исполнении запроса в БД. Для работы с БД использую Dapper, PostgreSQL.

Ответы

Ответов пока нет.