public IQueryable <TElement> CreateQuery <TElement>(Expression expression) { if (_enumerableRootObject == null && FullDbUtility.IsQueryableExpression(expression)) { _queryableExpression = expression; return(new FullDbQueryObject <TElement>(this, expression)); } else { if (_enumerableRootObject == null) { if (expression is MethodCallExpression m) { var args = m.Arguments.ToArray(); args[0] = Expression.Constant(null, typeof(IQueryable <TElement>)); expression = m.Update(null, args); } } var temp = new FullDbQueryObject <TElement>(this, expression); if (_enumerableRootObject == null) { _enumerableRootObject = temp; } return(temp); } }
internal FullDbQueryProvider(FullDbQueryObject root) { _root = root; }