如何使用已有的EF(4.1)DbContext连接到另一个DB?

时间:2011-09-22 21:47:53

标签: asp.net-mvc-3 entity-framework-4.1

我对EF很新,并且使用旧学校的SqlConnection ....

问题:我有一个已经命中本地sql server 2008实例的现有mvc3 / EF数据库上下文对象。我想在Web配置中添加一个新的连接字符串,并让现有的DBContext连接到远程数据库以运行存储过程。

我该怎么做?

2 个答案:

答案 0 :(得分:2)

如果通过现有上下文,则表示相同的上下文实例,而不是不可能:一个上下文实例=一个连接字符串。

如果需要连接到两个数据库,则需要两个上下文实例并将连接字符串传递给它们。即使在这种情况下,根据您的EF使用情况,它也会有很多限制。对具有不同模式(不同表)的数据库使用相同的上下文类型并不总是按预期工作。

当使用完全不同的数据库时,最好的方法是拥有两种不同的上下文类型和每种类型的实例。但是,如果您只想执行存储过程,最简单的方法就是直接使用ADO.NET SqlCommandSqlConnection

答案 1 :(得分:1)

其中一个ObjectContext构造函数将连接字符串作为参数。 That应该有所帮助。