public async Task Async() { var createCount = 0; await using var pool = new DbConnectorPool(new DbConnectorPoolSettings { Create = CreateConnection }); await using (var connector1 = pool.Get()) await using (var connector2 = pool.Get()) { (await connector1.Command("select null;").QuerySingleAsync <object>()).Should().Be(null); (await connector2.Command("select null;").QuerySingleAsync <object>()).Should().Be(null); } await using (var connector3 = pool.Get()) (await connector3.Command("select null;").QuerySingleAsync <object>()).Should().Be(null); createCount.Should().Be(2); DbConnector CreateConnection() { createCount++; return(DbConnector.Create( new SqliteConnection("Data Source=:memory:"), new DbConnectorSettings { AutoOpen = true })); } }
public PooledDbConnector(DbConnectorPool pool, DbConnector inner) : base(inner) { m_pool = pool; }