public Expression RemoveOuterParameter(Dictionary <Expression, Expression> processedExpressions) { Expression result; if (processedExpressions.TryGetValue(this, out result)) { return(result); } var entityExpression = (EntityExpression)EntityExpression.RemoveOuterParameter(processedExpressions); var rankExpression = (ColumnExpression)RankExpression.RemoveOuterParameter(processedExpressions); return(new FullTextExpression(FullTextIndex, entityExpression, rankExpression, null)); }
public Expression BindParameter(ParameterExpression parameter, Dictionary <Expression, Expression> processedExpressions) { Expression result; if (processedExpressions.TryGetValue(this, out result)) { return(result); } var entityExpression = (EntityExpression)EntityExpression.BindParameter(parameter, processedExpressions); var rankExpression = (ColumnExpression)RankExpression.BindParameter(parameter, processedExpressions); return(new FullTextExpression(FullTextIndex, entityExpression, rankExpression, parameter)); }
public Expression Remap(int[] map, Dictionary <Expression, Expression> processedExpressions) { if (!CanRemap) { return(this); } Expression result; if (processedExpressions.TryGetValue(this, out result)) { return(result); } var remappedEntityExpression = (EntityExpression)EntityExpression.Remap(map, processedExpressions); var remappedRankExpression = (ColumnExpression)RankExpression.Remap(map, processedExpressions); return(new FullTextExpression(FullTextIndex, remappedEntityExpression, remappedRankExpression, OuterParameter)); }