考虑以下代码:
List<Processo> listaProcesso = new List<Processo>();
Processo processo;
processo = new Processo();
processo.AgendamentoID = 9;
processo.DataEntrada = DateTime.Now;
processo.EtapaExecucao = 0;
processo.RegistrosAfetados = 2;
listaProcesso.Add(processo);
processo = new Processo();
processo.AgendamentoID = 9;
processo.DataEntrada = DateTime.Now;
processo.EtapaExecucao = 0;
processo.RegistrosAfetados = 1;
listaProcesso.Add(processo);
using (TransactionScope ts = new TransactionScope())
{
using (SharedDbConnectionScope scs = new SharedDbConnectionScope())
{
foreach (Processo processoSave in listaProcesso)
{
processoSave.Save();
}
}
ts.Complete();
}
我看不到任何错误。但是,当第二次调用save()时,我收到一个MySqlException:已经有一个与此Connection关联的打开的DataReader,必须首先关闭它。
我正在使用Subsonic 3.0.0.3和MySql.Data 6.0.4.0。
提前致谢。
卡洛斯·爱德华多·阿佩尔·克莱因
最佳答案
最好的选择是使用BatchQuery:
http://subsonicproject.com/docs/BatchQuery