考虑以下代码:

        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

09-25 20:02