具有来自存储过程的多个记录的 Dapper

本文关键字:记录 Dapper 存储过程 | 更新日期: 2023-09-27 18:34:57

我已经看到了这个问题的答案,如何使用 Dapper-dot-net 从单个 SP 映射多个记录,但它似乎不适用于我的场景。

用于说明的虚拟表...

我有一个返回多个记录集的 SP,第一个看起来像......

Column1 (int), Column2 (int)

我有一堂课...

public class Columns
{
    public int Column1 { get; set; }
    public int Column2 { get; set; }
}

然后,我正在尝试构建一个列列表...

        using (var conn = new SqlConnection(...))
        {
            using (var multi = conn.QueryMultiple("SpData", 
                   commandType: CommandType.StoredProcedure))
            {
                var cols = multi.Read<Columns>().ToList();
            }
        }

当我调用它时,cols变量中似乎没有填充任何内容,但我没有得到任何错误。 此外,如果我中断并查看multi包含的内容,我可以看到那里的数据。 有人能看出我哪里出错了吗?

具有来自存储过程的多个记录的 Dapper

我不确定是删除这个问题,还是只是在我发现明显错误时将其添加为答案(在我醒来后(

我对 SP 中的前两个数据集不感兴趣,所以我需要使用 Read 跳过......

multi.Read();//skip first recordset
multi.Read();//skip second recordset

可能会帮助其他人,否则我会很快删除它。