protected virtual async Task <int> SaveAsync(T entity)
        {
            if (entity.IsTransient())
            {
                await _context.AddAsync(entity);
            }
            else
            {
                _context.Update(entity);
            }

            await _context.SaveChangesAsync();

            return(entity.Id);
        }