private static MerkFinanceEntities SaveBulkChanges <TEntity>(MerkFinanceEntities context, TEntity entity, int count, int commitCount, bool recreateContext) where TEntity : class, new() { context.Set <TEntity>().Add(entity); if (count % commitCount == 0) { context.SaveChanges(); if (recreateContext) { context.Dispose(); context = new MerkFinanceEntities(); context.Configuration.AutoDetectChangesEnabled = false; } } return(context); }
public static void SetTableIdentityEntities(List <string> contextEntitiesNames) { using (TransactionScope scope = new TransactionScope()) { TableIdentity table = null; MerkFinanceEntities context = null; try { context = new MerkFinanceEntities(); context.Configuration.AutoDetectChangesEnabled = false; int count = 0; foreach (string entityToInsert in contextEntitiesNames) { ++count; table = new TableIdentity(); table.ID = count; table.TableName = entityToInsert; table.CommonEnityTypeID = null; table.NextAvailableID = null; context = SaveBulkChanges(context, table, count, 100, true); } //context.SaveChanges(); } finally { if (context != null) { context.Dispose(); } } scope.Complete(); } }