public static bool IsLocalCollection(this Expression expression, TranslatorContext context) => expression != null && !expression.IsProjection() && !expression.IsGroupingExpression() && !expression.IsEntitySet() && !expression.IsSubqueryExpression() && expression.Type != WellKnownTypes.String && expression.Type.IsOfGenericInterface(WellKnownInterfaces.EnumerableOfT) && (IsEvaluableCollection(context, expression) || IsForeignQuery(expression));
internal TranslatedQuery <TResult> Translate <TResult>(Expression expression, CompilerConfiguration compilerConfiguration) { try { var context = new TranslatorContext(session, compilerConfiguration, expression); return(context.Translator.Translate <TResult>()); } catch (Exception ex) { throw new QueryTranslationException(String.Format( Strings.ExUnableToTranslateXExpressionSeeInnerExceptionForDetails, expression.ToString(true)), ex); } }
public static bool IsLocalCollection(this Expression expression, TranslatorContext context) { return(expression != null && !expression.IsProjection() && !expression.IsGroupingExpression() && !expression.IsEntitySet() && !expression.IsSubqueryExpression() && expression.Type != typeof(string) && expression.Type.IsOfGenericInterface(typeof(IEnumerable <>)) && (IsEvaluableCollection(context, expression) || IsForeignQuery(expression))); }
// Constructors /// <exception cref="InvalidOperationException">There is no current <see cref="Session"/>.</exception> internal Translator(TranslatorContext context) { this.context = context; state = new TranslatorState(this); }
private static bool IsEvaluableCollection(TranslatorContext context, Expression expression) => !expression.Type.IsOfGenericInterface(WellKnownInterfaces.QueryableOfT) && context.Evaluator.CanBeEvaluated(expression);
// Constructors /// <exception cref="InvalidOperationException">There is no current <see cref="Session"/>.</exception> internal Translator(TranslatorContext context, CompiledQueryProcessingScope compiledQueryScope) { this.compiledQueryScope = compiledQueryScope; this.context = context; state = new TranslatorState(this); }
private static bool IsEvaluableCollection(TranslatorContext context, Expression expression) { return(!expression.Type.IsOfGenericInterface(typeof(IQueryable <>)) && context.Evaluator.CanBeEvaluated(expression)); }