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();
            }
        }