【发布时间】:2012-11-05 17:54:41
【问题描述】:
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。
我主要关心的是为什么我需要延迟线程,然后才能查询文档会话并在那里找到我新添加的模型。
【问题讨论】:
标签: c# asp.net-mvc-3 ravendb