c# - 来自存储过程的多条记录简洁明了

标签 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 包含的内容,我可以看到那里的数据。有人能看出我哪里出错了吗?

最佳答案

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

我对 SP 的前两个数据集不感兴趣,因此我需要使用 Read...

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

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

关于c# - 来自存储过程的多条记录简洁明了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19314546/

相关文章:

c# - C# 中的 Windows shell 脚本

c# - Visual Studio 在线销毁文件

javascript - 自定义 CSS 按钮动画在 MVC C# 局部 View 中不起作用

c# - 定义泛型方法

带括号表示法的 Dapper 结果(Dapper Row)

.net - Dapper 插入一个列表?

c# - 查询结果超过1000条时Dapper抛出System.Data.SqlClient.SqlException

c# - 如何使用 ADO.NET 实现嵌套 SQL 事务?

entity-framework - 首先在EF 4.1代码中映射关联表

c# - 存储设置 : XML vs. SQLite?