在EF连接字符串中添加WSID

时间:2014-03-26 11:01:38

标签: c# entity-framework

我需要在Entity Framework上下文的connectionstring中传递WSID。 我不想更新我拥有的所有instanciations,传递一个新的连接字符串,所以我想知道是否有一个方法来覆盖可以有所帮助?

有关信息,我实际上有这个:

using(var context = new SampleEntities())

我不想像那样重写它:

using(var context = new SampleEntities(NewConnectionString))

我试图覆盖CreateContext方法但没有成功......

1 个答案:

答案 0 :(得分:0)

使用EntityFramework 6,它不可能将连接字符串原生地传递给上下文的构造函数(那里没有更多的构造函数)所以我重载了我的上下文类来添加构造函数

public partial class MyObjectEntities : DbContext
{
    public MyObjectEntities(string connectionString)
        : base(connectionString)
    {
    }
}

此外,由于在实例化后无法在上下文中更新连接字符串,因此我必须在实现上下文之前创建所需的连接字符串。 所以,为此,我创建了一个dll项目(在多项目之间可共享),能够配置我的环境并包含我想要的WSID。

以下是Microsoft http://msdn.microsoft.com/en-US/en-en/library/bb738533%28v=vs.110%29.aspx

提供的连接字符串的构造函数