예제 #1
0
        IQueryable IDataServiceQueryProvider.GetQueryRootForResourceSet(ResourceSet resourceSet)
        {
            var contenTypeDefinition = ((ResourceType)resourceSet.CustomState).Name;
            var underlyingQueryable  = this._queryContext.Query(contenTypeDefinition);
            var visitor = new ODataServiceInterceptedQueryVisitor(this as IDataServiceQueryProvider);

            return(ODataServiceInterceptedQueryProvider.CreateQuery(underlyingQueryable, visitor));
        }
        public static IQueryable CreateQuery(IQueryable underlyingQuery, ExpressionVisitor visitor)
        {
            var provider = new ODataServiceInterceptedQueryProvider(underlyingQuery.Provider, (ODataServiceInterceptedQueryVisitor)visitor);

            return((provider as IQueryProvider).CreateQuery(underlyingQuery.Expression));
        }
예제 #3
0
 internal ODataServiceInterceptedQuery(ODataServiceInterceptedQueryProvider provider, Expression expression)
 {
     this._provider   = provider;
     this._expression = expression;
 }