【发布时间】:2011-09-13 03:51:27
【问题描述】:
有什么方法可以将 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> 可以处理多映射)。
如何将该行拆分为两个实体?
【问题讨论】:
-
如果您需要在序列化后合并或“拼接”单独的结果集......也就是 dotnet 代码中的集合,这是一个很好的帮助方法。 stackoverflow.com/questions/6379155/…
标签: sql-server stored-procedures dapper multiple-resultsets