Asp.net Dapper и Left Join
Есть сущность пользователя, есть сущность покупок пользователя. У пользователя может быть несколько покупок. Я хочу получить список всех пользователей вместе со списком покупок. Я написал 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.
Источник: Stack Overflow на русском