public void Lazy_connection_is_recreated_if_used_again_after_being_disposed() { var connection = new FakeRelationalConnection( CreateOptions(new FakeRelationalOptionsExtension { ConnectionString = "Database=FrodoLives" })); Assert.Equal(0, connection.DbConnections.Count); var dbConnection = (FakeDbConnection)connection.DbConnection; Assert.Equal(1, connection.DbConnections.Count); connection.Open(); #if NET451 // On CoreCLR, DbConnection.Dispose() calls DbConnection.Close() connection.Close(); #endif connection.Dispose(); Assert.Equal(1, dbConnection.OpenCount); Assert.Equal(1, dbConnection.CloseCount); Assert.Equal(1, dbConnection.DisposeCount); Assert.Equal(1, connection.DbConnections.Count); dbConnection = (FakeDbConnection)connection.DbConnection; Assert.Equal(2, connection.DbConnections.Count); connection.Open(); #if NET451 connection.Close(); #endif connection.Dispose(); Assert.Equal(1, dbConnection.OpenCount); Assert.Equal(1, dbConnection.CloseCount); Assert.Equal(1, dbConnection.DisposeCount); }
public void Current_transaction_is_disposed_when_connection_is_disposed() { var connection = new FakeRelationalConnection( CreateOptions( new FakeRelationalOptionsExtension { ConnectionString = "Database=FrodoLives" })); Assert.Equal(0, connection.DbConnections.Count); var transaction = connection.BeginTransaction(); Assert.Equal(1, connection.DbConnections.Count); var dbConnection = connection.DbConnections[0]; Assert.Equal(1, dbConnection.DbTransactions.Count); var dbTransaction = dbConnection.DbTransactions[0]; connection.Dispose(); Assert.Equal(1, dbTransaction.DisposeCount); Assert.Null(connection.CurrentTransaction); }