您可以使用以下 DbContext 构造函数在 Entity Framework 6 上手动管理连接:
DbContext(DbConnection, Boolean)
有一个例子(伪代码):
// ...
var myConnection = new SqlConnection(myConnectionString);
var myDbContext = new MyDbContext(myConnection, false);
// ...
// TODO: you must close and dispose "myConnection" manually
MyDbContext 在哪里:
class MyDbContext : DbContext
{
// ....
// constructor
MyDbContext(DbConnection conn, boolean contextOwnsConnection)
: base (conn, contextOwnsConnection)
{
// ...
}
// ....
}
如果您使用“true”作为 contextOwnsConnection,则在释放我们的 DbContext 时连接将关闭。
有关布尔参数的帮助,请参阅https://msdn.microsoft.com/en-us/library/system.data.entity.dbcontext(v=vs.113).aspx上的文档
请注意,通过使用这种方法,我们可以使用具有相同连接的多个 DbContext。
另请注意,我们可以根据我们正在连接的数据库使用连接。在以下示例中,我们安装了 ODP for Entity Framework 以使用 Oracle:
var myConnection = new OracleConnection(myConnectionString);