private void OpenReader(IQueryContainer queryContainer)
        {
            _accessLayer.Database.Connect();
            var command = queryContainer.Compile();

            queryContainer.AccessLayer.RaiseSelect(command);
            try
            {
                _executeReader = command.ExecuteReader();
            }
            catch (Exception ex)
            {
                _accessLayer.RaiseFailedQuery(this, command, ex);
                throw;
            }
        }