RavenDB 遇到了一个奇怪的问题
public ActionResult Save(RandomModel model)
{
//Do some stuff, validate model etc..
RavenSession.Store(model);
RavenSession.SaveChanges();
var newListOfModels = RavenSession.Query<RandomModel>().ToList();
return View("randomview",newListOfModels);
}
newListOfModels 不包含我刚刚使用 store 方法添加的模型。
但是,如果我在 savechanges 之后添加一个 Thread.Sleep(100) ,则存储的模型将包含在新列表中。
我是否以错误的方式将内容存储和保存到 RavenDB?
我应该怎么做?
当然,可以通过将传入模型添加到 newListOfModels 并在例如 basecontrollers onactionexecuted 方法之后运行 SaveChanges 来解决问题。
我主要关心的是为什么我需要延迟线程,然后才能查询文档会话并在那里找到我新添加的模型。