Когда я звоню 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();
}
}
}
}