【问题标题】:How can I utilize multiple databases in an entity framework solution simultaneously?如何在一个实体框架解决方案中同时使用多个数据库?
【发布时间】:2011-09-05 21:28:48
【问题描述】:
我有两个不相关的数据库,我需要在它们之间来回传递数据。现在我已经创建了两个独立的实体模型 - 每个数据库一个 - 但这导致我的代码 b/c 出现问题我必须执行 Using nameofcontext / End Using 并且当我尝试使用第一个的一些结果时使用 nameofcontext / End 不喜欢它 - b/c 我已经关闭了与第一个数据库的连接!
【问题讨论】:
标签:
asp.net
vb.net
entity-framework
entity-framework-4
linq-to-entities
【解决方案1】:
由于这是一个网站,您可以在 Global.asax 的 BeginRequest 事件中为每个上下文创建一个实例,并在 EndRequest 中处理该实例。这样做意味着在事件生命周期的剩余时间里,您的上下文将保持打开状态并且可以执行您需要的操作,但您仍然知道它们正在被正确处理。
这就是我解决此类问题的方法。
注意:不要将上下文存储在全局共享变量中,因为这将在多个请求之间共享它,而 havok 将确保。 HttpContext.Current.Items 可让您在代码中存储易于检索但特定于当前请求的内容,因此这是存储它们的安全位置。