2
我有這樣的方法:是使用相同的變量不同調用靜態方法
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;
}
}
}
}
我的情況時,我把它叫倍(使用不同的T和SP)一「交易範圍」內
,如果我不上拳頭電話呼叫.ToArray()
比我以前告訴我,這個命令已經與另一個相關聯的DataReader和第一個應該首先關閉錯誤