在运行时切换EF5连接

时间:2013-07-31 15:48:06

标签: c# entity-framework

我有一个项目,在UI中我有一个单选按钮列表,其中包含两个元素:开发和生产。在我的项目中,我使用带有SProcs的EF5模型来完成数据库操作。我想创建一种方法来使用单选按钮在运行时期间在开发和生产数据库服务器之间切换,但我找不到这样做的好方法。我需要做的就是替换位于app.config中的连接字符串中的数据库服务器部分。使用变换似乎不是一个选项。

有没有办法可以在不重建EF ConnectionString的情况下完成此任务?

1 个答案:

答案 0 :(得分:0)

您可以使用依赖注入并拥有两个DbContext类。然后根据单选按钮值,您可以确定要使用哪个DbContext。

或者在DbContext构造函数中,您可以传入要使用的连接字符串:

public class MyDbContext : DbContext
{
    public MyDbContext(string connStringName) : base("name=" + connStringName) { }
}