예제 #1
0
        /// <summary>
        /// Registers an external parameter
        /// Since these can be complex expressions, we don't try to identify them
        /// and push them every time
        /// The only loss may be a small memory loss (if anyone can prove me that the same Expression can be used twice)
        /// </summary>
        /// <param name="expression"></param>
        /// <param name="alias"></param>
        /// <param name="builderContext"></param>
        /// <returns></returns>
        public virtual InputParameterExpression RegisterParameter(Expression expression, string alias, BuilderContext builderContext)
        {
            var queryParameterExpression = new InputParameterExpression(expression, alias);

            builderContext.ExpressionQuery.Parameters.Add(queryParameterExpression);
            return(queryParameterExpression);
        }
예제 #2
0
 public virtual void UnregisterParameter(InputParameterExpression expression, BuilderContext builderContext)
 {
     builderContext.ExpressionQuery.Parameters.Remove(expression);
 }