如何在实体框架解决方案中同时利用多个数据库?

问题描述

| 我有两个不相关的数据库,我需要在它们之间来回传递数据。现在我已经创建了两个单独的实体模型-每个数据库一个-但这在我的代码b / c中引起了问题,我必须做一个using nameofcontext / End Using,当我尝试使用第一个结果时代码的第二部分使用nameofcontext / End使用它不喜欢-b / c我已经关闭了与第一个数据库的连接!     

解决方法

        由于这是一个网站,因此您可以在Global.asax的BeginRequest事件中创建每个上下文的一个实例,然后在EndRequest中处置该实例。这样做意味着在事件生命周期的其余时间内,您的上下文将保持打开状态并可以执行所需的操作,但是您仍然知道它们已被正确处置。 这就是我解决此类问题的方式。 注意:不要将上下文存储在全局共享变量中,因为它将在多个请求之间共享它,并且havok将确保这一点。 HttpContext.Current.Items允许您存储易于在代码中检索但特定于当前请求的内容,因此这是一个安全的存储位置。