public T Load(uint key) { lock (transactionLock) { if (isTransactionOpen) { commitStatement.Execute(); isTransactionOpen = false; uncommittedCount = 0; } } var statements = statementPool.Rent(); DatabaseItem dbItem = statements.SelectStatement.Execute(key); var result = Convert(dbItem); statementPool.Return(statements); return(result); }