У меня есть сценарий, в котором мне нужно вернуть один столбец как часть запроса с несколькими картами в Dapper.
Я упростил приведенный ниже пример, но, по сути, значение одного столбца (int), которое я хочу получить, не является свойством класса Post (но находится в таблице базы данных).
Я хочу получить это значение самостоятельно, чтобы использовать его способом, аналогичным следующей строке из примера, где статус - это рассматриваемое значение int:
post.SetSomeStatus(status);
Вот пример кода:
var sql =
@"select *, p.Status from #Posts p
left join #Users u on u.Id = p.OwnerId
Order by p.Id";
var data = connection.Query<Post, User, int, Post>(sql, (post, user, status) => {
post.Owner = user;
post.SetSomeStatus(status);
return post;
});
var post = data.First();
Я вижу следующую ошибку с этим кодом: Индекс был за пределами массива.