J'ai cette méthode:est une méthode statique en utilisant les mêmes variables pour les appels différents
public static IEnumerable<T> ExecuteReaderSp<T>(string sp, string cs, object parameters) where T : new()
{
using (var conn = new SqlConnection(cs))
{
using (var cmd = conn.CreateCommand())
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = sp;
cmd.InjectFrom<SetParamsValues>(parameters);
conn.Open();
using (var dr = cmd.ExecuteReader())
while (dr.Read())
{
var o = new T();
o.InjectFrom<ReaderInjection>(dr);
yield return o;
}
}
}
}
J'ai eu la situation quand je l'ai appelé à l'époque (avec différents T et sp) dans un « champ d'opération »
et si je ne demande pas .ToArray()
sur l'appel de poing que j'ai eu une erreur qui me dit que cette commande est déjà associé à un autre DataReader et que le premier devrait être fermé d'abord