我正在使用 RavenDB 3.5。我知道查询实体不是acid
,而是按 ID 加载。显然写入 DB 也是acid
. 到目前为止,一切都很好。现在一个问题:我找到了一些代码:
session.Advanced.WaitForIndexesAfterSaveChanges();
entity = session.Load<T>(id);
session.Delete(entity);
session.SaveChanges();
// Func<T, T> command
command?.Invoke(entity);
来这里打电话的目的是WaitForIndexesAfterSaveChanges()
什么?这是因为执行命令吗?还是因为可能依赖/消耗查询应该立即赶上所做的更改?如果是这种情况,我可以WaitForIndexesAfterSaveChanges()
在此代码块中删除并添加WaitForNonStaleResultsAsOfNow()
查询,不是吗?如果WaitForIndexesAfterSaveChanges()
我的关键查询已经用 标记,我什么时候首先使用WaitForNonStaleResultsAsOfNow()
?