我希望能够“手动”管理实体框架如何连接到我的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'
。我该如何解决这个问题?
答案 0 :(得分:0)
在DbContext构造函数中有一个overload,您可以在其中传入DbConnection以及上下文是否拥有它:
public DbContext(DbConnection existingConnection,bool contextOwnsConnection)
或者,如果您使用的是ObjectContext,则可以在构造函数的pass中EntityConnection:
public ObjectContext( EntityConnection connection)