我有一个场景,我需要在Dapper中返回单个列作为多映射查询的一部分。
我已经简化了下面的示例,但本质上我想要检索的单列值(int)不是 Post 类的属性(而是在数据库表中)。
我想自己获取这个值,以类似于示例中的以下行的方式使用它,其中 status 是有问题的 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();
我看到此代码出现以下错误:Index was outside the bounds of the array。