我的控制器中包含以下代码:
scikit-learn
当我再次查询(第2级)时,它没有给出任何更新的结果。 *注意:某些后台进程正在更改数据。
请参阅下面的checkStatus():
var getStatusLevel1 = await _repo.CheckStatus(lotId);
var status1 = getStatusLevel1.Status;
while (status1 == null) {
// Level 2
var getStatusLevel2 = await _repo.CheckStatus(lotId);
var status2 = getStatusLevel1.Status;
if(status2 != null) {
status1 = status2;
}
}
每次执行此功能时,它都会返回旧数据。
答案 0 :(得分:2)
也许var status2 = getStatusLevel1.Status;
是错误的,应该是var status2 = getStatusLevel2.Status;
答案 1 :(得分:0)
您可以重新加载实体以刷新数据,而不必尝试使用CheckStatus方法。
await _context.Entry(ZRequestBn).ReloadAsync();
或者,如果您需要分离关注点,也可以在CheckStatus方法中使用它。无论哪种方式,您都需要从数据库中检索一个新的实体,而不是从上下文中已加载的实体。
或者,您可以实例化新的上下文。
return await new MyContext().ZRequestBn.FirstOrDefaultAsync( u => u.LotId == lotId);