Вы хотите 1 TaskSchedule
экземпляр, а не их список, который будет возвращать ToListAsync
.
Изменить
public async Task<TaskSchedule> GetUserSchedule(int id)
{
var userTaskSchedule = await _context.TaskSchedules
.Where(s => s.staffId == id)
.ToListAsync();
return userTaskSchedule;
}
На этот
public Task<TaskSchedule> GetUserSchedule(int id)
{
return _context.TaskSchedules.SingleOrDefaultAsync(s => s.staffId == id);
}
Обратите внимание, что я удалил async/await
, потому что здесь это не нужно. Вы можете вернуть экземпляр Task<T>
напрямую, чтобы его ожидал вызывающий. Если вам нужно что-то сделать с возвращенным экземпляром до того, как он будет возвращен в этом методе, тогда вы можете добавить обратно async/await
и изменить экземпляр до того, как он будет возвращен.
Также считается хорошей практикой добавлять слово Async
к имени ваших методов в качестве суффикса , если Возвращается задание / Task. Пример: GetUserScheduleAsync
вместо GetUserSchedule
.
Также вы можете также использовать FirstAsync
, FirstOrDefaultAsync
или SingleAsync
вместо SingleAsync
. Какой из них зависит от ваших требований в коде.