Example #1
0
        /// <summary>
        /// Save a query model result for later lookup.
        /// </summary>
        /// <param name="queryModel"></param>
        /// <param name="result"></param>
        /// <returns></returns>
        /// <remarks>Cache any QueryReferences that have been looked up in addtion to the result so we know when to
        /// invalidate this.</remarks>
        public IVariableScopeHolder Add(Remotion.Linq.QueryModel queryModel, Expression result)
        {
            var scope = new CQReplacementExpression(this, queryModel, _queryModelCache.ContainsKey(queryModel) ? _queryModelCache[queryModel] : null);
            var v     = new QueryModelCacheLine()
            {
                _value = result, _referencedQS = _QSReferencedSet.ToArray()
            };

            _QSReferencedSet.Clear();
            AddInternal(queryModel, v);
            return(scope);
        }
Example #2
0
 /// <summary>
 /// Save a query model result for later lookup.
 /// </summary>
 /// <param name="queryModel"></param>
 /// <param name="result"></param>
 /// <returns></returns>
 /// <remarks>Cache any QueryReferences that have been looked up in addtion to the result so we know when to
 /// invalidate this.</remarks>
 public IVariableScopeHolder Add(Remotion.Linq.QueryModel queryModel, Expression result)
 {
     var scope = new CQReplacementExpression(this, queryModel, _queryModelCache.ContainsKey(queryModel) ? _queryModelCache[queryModel] : null);
     var v = new QueryModelCacheLine() { _value = result, _referencedQS = _QSReferencedSet.ToArray() };
     _QSReferencedSet.Clear();
     AddInternal(queryModel, v);
     return scope;
 }