Dapper.NET和具有多个结果集的存储过程

有什么方法可以将Dapper.NET与返回多个结果集的存储过程一起使用?


就我而言,第一个结果集是单行单列;如果是,0则调用成功,第二个结果集将包含实际的数据行/列。(如果它不为零,则会发生错误,并且不会提供第二个结果集)


有机会用Dapper.NET处理吗?到目前为止,我只回过那首单曲0,但仅此而已。


更新:好的,只要结果集没有。2是单个实体:


Dapper.SqlMapper.GridReader reader = 

    _conn.QueryMultiple("sprocname", dynParams, 

    commandType: CommandType.StoredProcedure);


int status = reader.Read<int>().FirstOrDefault();

MyEntityType resultObj = reader.Read<MyEntityType>().FirstOrDefault();

现在,我还有另一个要求。


到目前为止,似乎还不支持Dapper针对第二个结果集的多重映射(将从SQL Server返回的单行拆分为两个单独的实体)(至少似乎不存在.Read<T>可以处理的重载)多重映射)。


如何将该行分为两个实体?


哆啦的时光机
浏览 927回答 3
3回答

慕森王

您是否尝试过该QueryMultiple方法?它说应该:执行一个返回多个结果集的命令,并依次访问每个结果集您需要添加此using语句以启用QueryMultiple。using Dapper; /* to add extended method QueryMultiple public static GridReader QueryMultiple(this IDbConnection cnn, string sql, object param = null, IDbTransaction transaction = null, int? commandTimeout = null, CommandType? commandType = null); */
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

SQL Server