Beispiel #1
0
        /// <summary>
        /// Запись нескольких полей в БД
        /// </summary>
        public static void Inserts <TEntity>(this EFDbContext context, IEnumerable <TEntity> entities) where TEntity : class
        {
            // Отключаем отслеживание и проверку изменений для оптимизации вставки множества полей
            context.Configuration.AutoDetectChangesEnabled = false;
            context.Configuration.ValidateOnSaveEnabled    = false;

            //context.Database.Log = (s => System.Diagnostics.Debug.WriteLine(s));

            foreach (TEntity entity in entities)
            {
                context.Entry(entity).State = EntityState.Added;
            }


            context.Configuration.AutoDetectChangesEnabled = true;
            context.Configuration.ValidateOnSaveEnabled    = true;
        }
Beispiel #2
0
        public static void Delete <TEntity>(this EFDbContext context, IEnumerable <int> entities) where TEntity : class
        {
            // Отключаем отслеживание и проверку изменений для оптимизации вставки множества полей
            context.Configuration.AutoDetectChangesEnabled = false;
            context.Configuration.ValidateOnSaveEnabled    = false;

            context.Database.Log = (s => System.Diagnostics.Debug.WriteLine(s));

            foreach (int id in entities)
            {
                TEntity item = context.Set <TEntity>().Find(id);
                if (item != null)
                {
                    context.Entry <TEntity>(item).State = EntityState.Deleted;
                }
            }


            context.Configuration.AutoDetectChangesEnabled = true;
            context.Configuration.ValidateOnSaveEnabled    = true;
        }