コード例 #1
0
        public async Task <DynamicDataReader> ExecuteReaderAsync(CancellationToken cancellationToken, CommandBehavior behavior = CommandBehavior.Default)
        {
            PrepareCommand();
            await OpenConnectionAsync(cancellationToken);

            var reader = await _command.ExecuteReaderAsync(behavior, cancellationToken);

            return(_reader = new DynamicDataReader(reader));
        }
コード例 #2
0
        void Dispose(bool disposing)
        {
            if (!_disposed && disposing)
            {
                using (var conn = _command.Connection)
                    using (var command = _command)
                        using (var reader = _reader) {
                            if (_reader != null)
                            {
                                if (!_reader.IsClosed)
                                {
                                    _reader.Close();
                                }
                                _reader = null;
                            }

                            if (conn.State != ConnectionState.Closed)
                            {
                                conn.Close();
                            }
                        }
            }
            _disposed = true;
        }