public virtual void Delete(TEntity entity) { if (strategy != null) { strategy.BeforeDelete(entity); } _context.Set <TEntity>().Attach(entity); _context.Entry(entity).State = EntityState.Deleted; _context.SaveChanges(); }