Я не знаком с Dapper Dot Net , но после короткого взгляда на него выглядит так, как будто он возвращает анонимные типы в виде динамических объектов. Вы можете рассматривать их как POCO (простые старые объекты CLR), что означает, что они являются классами с индивидуальными именованными свойствами, возможно, не реализуют какой-либо индексатор, который вам необходим для доступа к полям по индексу.
Вы можете попробовать использовать Reflection для достижения чего-то похожего:
foreach (dynamic propInfo in row.GetType().GetProperties())
{
Console.WriteLine("{0}: {1}", propInfo.Name, propInfo.GetValue(row, null));
}
Я не уверен, что вы получите свойства в том же порядке, в котором их возвращает хранимая процедура.