protected virtual async Task DeleteAsync(int id)
 {
     _context.Remove(await _context.FindAsync <T>(id));
     await _context.SaveChangesAsync();
 }