/// <summary> /// Finds the specified expression. /// </summary> /// <param name="expression">The expression.</param> /// <param name="type">The type.</param> /// <returns></returns> public static Expression Find(Expression expression, Type type) { TypedSubtreeFinder finder = new TypedSubtreeFinder(type); finder.Visit(expression); return(finder.root); }
private Expression FindProviderInExpression(Expression expression) { Expression root = TypedSubtreeFinder.Find(expression, typeof(IQueryProvider)); if (root == null) { root = TypedSubtreeFinder.Find(expression, typeof(IQueryable)); } return(root); }