我需要在Entity Framework上下文的connectionstring中传递WSID。 我不想更新我拥有的所有instanciations,传递一个新的连接字符串,所以我想知道是否有一个方法来覆盖可以有所帮助?
有关信息,我实际上有这个:
using(var context = new SampleEntities())
我不想像那样重写它:
using(var context = new SampleEntities(NewConnectionString))
我试图覆盖CreateContext方法但没有成功......
答案 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
提供的连接字符串的构造函数