Обновление:
Как отметил ниже Марк, мой фундаментальный вопрос: что происходит, когда Read() вызывается больше раз, чем имеется наборов записей при использовании QueryMultiple()? ?
Я работаю над преобразованием существующего вызова БД с использования SqlDataReader на Dapper.
Однако с этим возникли проблемы. Я вызываю процедуру, которая условно может вызвать еще 1-4 процедуры. Таким образом, у меня потенциально есть много наборов результатов.
Чтобы упростить объяснение, предположим, что у меня есть только 1-2 набора результатов. Если первая процедура не вызывается, но вызывается вторая процедура, то мой первый вызов Read() съедает первый и единственный набор результатов. Затем у меня есть куча бесполезных объектов TeamItem, которые должны были быть объектами ProjectItem. Затем, конечно, он взрывается при втором вызове Read(), потому что другого набора результатов нет.
Я что-то упускаю из Dapper, или это крайность случае, который Dapper просто не сможет поддерживать?
if (_searchParams.WillSearchTeams)
{
var teams = multi.Read().ToList();
}
var projects = multi.Read().ToList();
Подробнее здесь: https://stackoverflow.com/questions/145 ... esult-sets