Dapper 是否支持未知数量的结果集
本文关键字:结果 未知数 是否 支持 Dapper | 更新日期: 2023-09-27 17:56:18
更新:
正如 Marc 在下面指出的,我的基本问题是:当使用 QueryMultiple() 时调用 Read() 的次数多于记录集
时会发生什么?我正在努力将现有的数据库调用从使用 SqlDataReader 转换为 Dapper。
虽然有问题。我称之为 sproc,它有条件地可以再调用 1-4 个 sprocs。所以我可能有很多结果集。为了简化我的解释,假设我只有 1-2 个结果集。如果未调用第一个 sproc,但调用了第二个 sproc,那么我的第一个 Read() 调用会吃掉第一个也是唯一的结果集。然后我有一堆无用的TeamItem对象,它们应该是ProjectItem对象。然后当然,它在第二次调用 Read() 时会爆炸,因为没有另一个结果集。
我是否错过了关于 Dapper 的一些东西,或者这是一个极端的情况,Dapper 只是无法切实支持?
if (_searchParams.WillSearchTeams)
{
var teams = multi.Read<TeamItem>().ToList();
}
var projects = multi.Read<ProjectItem>().ToList();
我假设你已经在使用 QueryMultiple;听起来这里的基本问题是当你调用 Read 的次数比网格多时会发生什么。我想它可以返回一个空序列,但我怀疑某种 TryRead 会更可取。不,它目前没有 - 但理论上可以。