覆盖实体框架如何连接到数据库?

时间:2012-11-13 16:38:06

标签: sql entity-framework sqlconnection

我希望能够“手动”管理实体框架如何连接到我的SQL数据库。

我想到的是覆盖与数据库建立连接的函数。

public override SqlConnection getNewConnection()
{
    // return the connection to be used
}

这可能吗?

更新:以下是根据我收到的答案撰写的内容:

System.Data.EntityClient.EntityConnection connection = new System.Data.EntityClient.EntityConnection("metadata=res://*/Models.ADLEntities.csdl|res://*/Models.ADLEntities.ssdl|res://*/Models.ADLEntities.msl;provider=System.Data.SqlClient;provider connection string="data source=myserver;initial catalog=mycatalog;integrated security=True;multipleactiveresultsets=True;App=EntityFramework"");
entities = new Models.ModswebEntities(connection);

我通过复制生成EDMX对象的VS向导生成的web.config中的连接字符串来编写此代码。但是,当我运行此代码时,出现错误Keyword not supported: 'data source'。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

在DbContext构造函数中有一个overload,您可以在其中传入DbConnection以及上下文是否拥有它:

public DbContext(DbConnection existingConnection,bool contextOwnsConnection)

或者,如果您使用的是ObjectContext,则可以在构造函数的passEntityConnection

public ObjectContext( EntityConnection connection)