C# 具有存储过程中的多条记录的简洁

C# 具有存储过程中的多条记录的简洁,c#,ado.net,dapper,C#,Ado.net,Dapper,我已经看到了这个问题的答案,但它似乎不适合我的场景 用于说明的虚拟表格 我有一个返回多个记录集的SP,第一个看起来像 Column1 (int), Column2 (int) 我有一节课 public class Columns { public int Column1 { get; set; } public int Column2 { get; set; } } 然后,我试图建立一个列列表 using (var conn = new SqlConnecti

我已经看到了这个问题的答案,但它似乎不适合我的场景

用于说明的虚拟表格

我有一个返回多个记录集的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();
            }
        }
使用(var conn=new SqlConnection(…)
{
使用(var multi=conn.QueryMultiple(“SpData”,
commandType:commandType.StoredProcess)
{
var cols=multi.Read().ToList();
}
}

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

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

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

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

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

请将问题留在这里,因为它可能会帮助其他人else@MarcGravell,好的,可以。顺便说一句,在几个月前你给了我一个答案之后,我决定使用
Dapper
——非常干净和有用,6行代码v大约是80行。