我收到此错误,但是我无法确定真正的原因是什么,因此我无法修复它? “实体框架核心:在上一个操作完成之前,第二个操作是在此上下文上启动的”
上下文
private readonly ApplicationDbContext _context;
public MyController(ApplicationDbContext context)
{
_context = context;
}
此处发生错误“ await _context.SaveChangesAsync();”,但是此语句仅执行一次。
//Find user by Id
var foundUser = await _context.Users.FindAsync(myUserId);
//Populate myUserData here
....
//If user not found, create the user
if (foundUser == null)
{
_context.Users.Add(myUserData);
await _context.SaveChangesAsync(); //<--------ERROR HERE!
}
答案 0 :(得分:0)
您正尝试修改foundUser,但由于它是异步的,因此未返回。
更容易解决此问题的方法是使用.Result这样的结果:
if (foundUser.Result == null)
这样,它将等待上一次呼叫的结果