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和第一个应该首先关闭错误