private static ReportConnectDbEntities AddToContextWOAudit(ReportConnectDbEntities context, WOAuditEntry entity, int count, int commitCount, bool recreateContext) { context.Set <WOAuditEntry>().Add(entity); if (count % commitCount == 0) { context.SaveChanges(); if (recreateContext) { context.Dispose(); context = new ReportConnectDbEntities(); context.Configuration.AutoDetectChangesEnabled = false; } } return(context); }
public static void CopyWOAuditEntriesToDB(List <WOAuditEntry> dataSet) { ReportConnectDbEntities connect = null; try { connect = new ReportConnectDbEntities(); connect.Configuration.AutoDetectChangesEnabled = false; int count = 0; foreach (var line in dataSet) { ++count; var record = new WOAuditEntry(); record.WOPart = line.WOPart; record.WOLevel = line.WOLevel; record.ModifiedOn = line.ModifiedOn; record.WorksOrderNumber = line.WorksOrderNumber; record.FieldName = line.FieldName; record.ChangedFrom = line.ChangedFrom; record.ChangedTo = line.ChangedTo; record.WOTID = line.WOTID; record.Type = line.Type; connect = AddToContextWOAudit(connect, record, count, 500, true); } connect.SaveChanges(); } finally { if (connect != null) { connect.Dispose(); } } }