存储过程中有多个记录的小巧玲珑

时间:2013-10-11 09:19:05

标签: c# ado.net dapper

我已经看到了这个问题的答案How to map multiple records from a single SP with Dapper-dot-net,但它似乎对我的情况没有用。

虚拟表格用于说明......

我有一个返回多个记录集的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包含的内容,我可以在那里看到数据。有人能看出我哪里错了吗?

1 个答案:

答案 0 :(得分:3)

我不确定是否要删除这个问题,或者只是将其添加为答案,因为我发现了明显的错误(在我醒来之后)

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

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

它可能对其他人有所帮助,否则我很快就会将其删除。