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)
{
// ...
}
// ....
}
contextOwnsConnection として「true」を使用すると、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);