public override void Close() { if (IsClosed) return; try { CloseCurrentResultSet(); _command.OnReaderClosed(this); } finally { CloseInternal(); } }