O que você deve fazer é invocar
ExecuteReader()
nesse cmd
objeto, assim:public static IEnumerable<int> GetAllVendors()
{
using (var cmd = Data.GetCommand(Configuration.DatabaseOwnerPrefix + ".GetAllInformationAndHelpVendorIds", Connections.MyDbConnection))
{
using (var reader = cmd.ExecuteReader())
{
while (reader.Read())
{
yield return reader.GetInt32(0);
}
}
}
}
Isso pressupõe que o SQL retornará uma tabela cuja primeira coluna (identificada pelo índice
0
para o método GetInt32()
) será o ID que você está procurando. Se o SQL retornar os IDs em outra coluna, basta ajustar o índice para a coluna em que você espera encontrá-los. Esta solução também espera que a conexão do comando já esteja aberta. Se não for, você pode fazer
cmd.Connection.Open()
logo antes de cmd.ExecuteReader()
.