假设我有一个Repository
类,其中包含一个DbContext
。在这个类中,我有一个方法:
public async Task<T> CreateAsync(T obj)
{
var o = _dbSet.Add(obj);
await _dbContext.SaveChangesAsync();
return o;
}
在一个
Service
类中,我使用以下方法来创建一个对象:public async Task<MyObject> Create()
{
return await _repository.CreateAsync(new MyObject());
}
最后,在我的API控制器
MyObjectController
中,我这样返回该对象:public async Task<IHttpActionResult> Get()
{
return Ok(await _service.Create());
}
我对所有这些async
和await
关键字感到困惑。我知道一个Task
是可等待的。这是否意味着我可以只从CreateAsync
返回Task
,而不在CreateAsync
或Create
中等待,最后在Get
中等待它?我像示例中那样等待会对我的应用程序产生负面影响吗?