【发布时间】:2019-03-28 09:06:19
【问题描述】:
我正在使用 RavenDB 3.5。
我知道查询实体不是acid,而是按 ID 加载。
显然写入数据库也是acid。
到现在为止还挺好。
现在有一个问题:
我找到了一些代码:
session.Advanced.WaitForIndexesAfterSaveChanges();
entity = session.Load<T>(id);
session.Delete(entity);
session.SaveChanges();
// Func<T, T> command
command?.Invoke(entity);
在这里调用WaitForIndexesAfterSaveChanges() 的目的是什么?
这是因为执行命令吗?
还是因为可能依赖/消耗查询应该立即赶上所做的更改?
如果是这种情况,我可以在这个代码块中删除WaitForIndexesAfterSaveChanges(),然后在查询中添加WaitForNonStaleResultsAsOfNow(),不是吗?
如果我的关键查询已经用WaitForNonStaleResultsAsOfNow() 标记,我什么时候首先使用WaitForIndexesAfterSaveChanges()?
【问题讨论】: