我已经为ASP.NET MVC设置了Unity,并向PerRequestLifetimeManager注册了我的数据库上下文(在我的例子中是RavenDb,但这并不重要)。在请求结束时,我想调用myContext.SaveChanges。下面是我如何在NInject中这样做的:
kernel.Bind<IDocumentSession>().ToProvider<DocumentSessionProvider>().InRequestScope().OnDeactivation(c => c.SaveChanges());在统一中,什么是正确的方法?我现在看到的唯一方法是在Global.asax中重写Global.asax,但它似乎有点脏。
发布于 2014-07-18 07:18:16
请不要在请求结束时自动调用SaveChanges,因为此时无法安全地确定是否实际保存更改。有关更多信息,请阅读this Stackoverflow answer。
https://stackoverflow.com/questions/24818505
复制相似问题