如果我有一个 GET 请求,只是从数据库返回一些内容,我应该这样做吗:
return _dbContext.MyTable.Where(...).ToList();
或:
return await _dbContext.MyTable.Where(...).ToListAsync();
这两个不是一样的吗?当我有一个方法的异步版本时,我就是这样想的:如果我需要同时做其他事情,我应该使用异步版本。如果没有,请选择同步选项。如果我错了请纠正我。
ToList() 是一个同步操作。这意味着代码将阻塞直到操作完成。ToListAsync() 是一个异步操作。它允许您的代码在等待数据库操作完成的同时继续执行其他任务。 如果您的方法被声明为异步,那么最好使用 ToListAsync()。使用await允许在数据库操作期间释放调用线程,从而实现更好的资源利用。 希望这有帮助。