public void WriteTo(ref BaseDatasetData dest)
            {
                dest.BaseFieldsMainCount = BaseFieldsMainCount;
                dest.BaseFields.Clear();
                foreach (var item in BaseFields)
                {
                    dest.BaseFields.Add(item);
                }

                dest.WhereClauseRoot      = WhereClauseRoot;
                dest.WhereClauseProcessor = WhereClauseProcessor;
                dest.WhereClauseFields.Clear();
                foreach (var item in WhereClauseFields)
                {
                    dest.WhereClauseFields.Add(item);
                }

                dest.OrderClause = OrderClause;
                dest.OrderClauseFields.Clear();
                foreach (var item in OrderClauseFields)
                {
                    dest.OrderClauseFields.Add(item);
                }

                dest.Paging = Paging;
            }
        public ParsedRequest(bool forCache)
        {
            Select = SelectStatementData.Create();
            BaseDataset = BaseDatasetData.Create();
            Modify = InsertUpdateDeleteStatementData.Create();
            BulkInput = BulkInputData.Create();
            Params = ParametersData.Create();
            SpecialCommand = SpecialCommandData.Create();

            Bulk = forCache ? null : new BufferedReaderStream(84980);
        }
        public ParsedRequest(bool forCache)
        {
            Select         = SelectStatementData.Create();
            BaseDataset    = BaseDatasetData.Create();
            Modify         = InsertUpdateDeleteStatementData.Create();
            BulkInput      = BulkInputData.Create();
            Params         = ParametersData.Create();
            SpecialCommand = SpecialCommandData.Create();

            Bulk = forCache ? null : new BufferedReaderStream(84980);
        }
            public void WriteTo(ref BaseDatasetData dest)
            {
                dest.BaseFieldsMainCount = BaseFieldsMainCount;
                dest.BaseFields.Clear();
                foreach (var item in BaseFields)
                {
                    dest.BaseFields.Add(item);
                }

                dest.WhereClauseRoot = WhereClauseRoot;
                dest.WhereClauseProcessor = WhereClauseProcessor;
                dest.WhereClauseFields.Clear();
                foreach (var item in WhereClauseFields)
                {
                    dest.WhereClauseFields.Add(item);
                }

                dest.OrderClause = OrderClause;
                dest.OrderClauseFields.Clear();
                foreach (var item in OrderClauseFields)
                {
                    dest.OrderClauseFields.Add(item);
                }

                dest.Paging = Paging;
            }