Не работает сохранение - PullRequest
       36

Не работает сохранение

0 голосов
/ 10 сентября 2018

Когда я звоню SaveChanges() я получаю исключение:

SqlException: A new transaction is not allowed, because other threads are running in this session.

Есть идеи, почему? Вот мне код:

    using (anvizdbEntities db = new anvizdbEntities())
    {
        var devices = db.FingerClients;
        foreach (FingerClient d in devices)
        {
            Anviz.SDK.AnvizManager am = new Anviz.SDK.AnvizManager(d.IPaddress, Convert.ToUInt64(d.Clientid, 10));
            am.Connect();

            Anviz.SDK.Statistic statistic = am.GetDownloadInformation();
            if (statistic.NewRecordAmount > 0 && d.Clientid.Equals("1"))
            {
                List<Anviz.SDK.Record> records = am.DownloadRecords(count, (int)Anviz.SDK.TYPE_RECORDS.NEW_RECORDS);
                if (records != null)
                {

                    int max = db.Checkinouts.Max(check => check.Logid);
                    foreach (Anviz.SDK.Record r in records)
                    {
                        max++;

                        Checkinout checkinout = new Checkinout();
                        checkinout.Logid = max;
                        checkinout.Userid = r.UserCode.ToString();
                        checkinout.CheckTime = new DateTime((long)r.DateTime);
                        checkinout.WorkType = (int)r.WorkType;
                        checkinout.OpenDoorFlag = Convert.ToBoolean(r.RecordType);
                        checkinout.AttFlag = 1;
                        checkinout.Sensorid = d.Clientid;
                        checkinout.CheckType = "I";

                        Console.WriteLine("ADD RECORD {0}", max);
                        db.Checkinouts.Add(checkinout);
                    }
                    db.SaveChanges();
                }
            }
        }
    }
...