本文介绍了我怎样才能确认是否异步EF6等待db.SaveChangesAsync()和预期一样?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的code是这样的:
公共异步任务< IHttpActionResult>删除(INT ID)
{
变种用户id = Int32.Parse(User.Identity.GetUserId());
UserTest userTest =等待db.UserTests.FindAsync(ID);
如果(userTest == NULL)
{
返回NOTFOUND();
}
如果(userTest.UserId!=用户id)
{
返回未授权();
}
db.UserTests.Remove(userTest);
等待db.SaveChangesAsync();
返回OK();
}
我觉得一切到db.SaveChangesAsync是好的,但我怎么能确认是否db.SaveChangesAsync做一个好的回报()之前的作品?理想情况下,我认为我应该检查异常和事情,但我不知道我怎么能它放到这个code座。
解决方案
从MSDN:
public虚拟任务< INT> SaveChangesAsync()
Check if the result is greater than 0:
if(await db.SaveChangesAsync() > 0)
{
.....
}
Another option is to wrap this with try ... catch
block:
try
{
await db.SaveChangesAsync();
return Ok();
}
catch (Exception ex)
{
return NotFound(ex.Message);
}
这篇关于我怎样才能确认是否异步EF6等待db.SaveChangesAsync()和预期一样?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!