Пример #1
0
        public DataRequestObject(DataRequest request)
        {
            Operation = request.Operation;
            OperationName = request.OperationName;
            Arguments = request.OperationArguments;

            ID = request.Query.ID;

            Partition = request.Partition;
            Query = request.Query;
            Item = request.Item;

            Execute = delegate(Dictionary<string, object> options) {
                request.Partition = Partition;
                request.Query = Query;
                request.Item = Item;

                return request.Query.Collection.Source.Execute(request, options);
            };
        }
Пример #2
0
        private static DataQuery Clone(DataQuery original)
        {
            DataQuery clone = new DataQuery(original._collection, original._id);

            if (original._filters != null) {
                clone._filters = original._filters.Concat();
            }
            if (original._selectors != null) {
                clone._selectors = original._selectors.Concat();
            }
            if (original._sort != null) {
                clone._sort = original._sort.Concat();
            }
            if (original._skip.HasValue) {
                clone._skip = original._skip.Value;
            }
            if (original._take.HasValue) {
                clone._take = original._take.Value;
            }

            return clone;
        }