/// <summary> /// Craete a query from EF queryable /// </summary> /// <param name="underlyingQuery">The underlying EF query</param> /// <returns>The queryable EFParameterizedQuery</returns> public static IQueryable CreateQuery(IQueryable underlyingQuery) { var provider = new EFParameterizedQueryProvider(underlyingQuery.Provider); Type elementType = underlyingQuery.Expression.Type.GetQueryElementType(); return((IQueryable)CreateEFParameterizedQueryMethod.MakeGenericMethod(elementType).Invoke(provider, new object[] { underlyingQuery.Expression, underlyingQuery })); }
/// <summary> /// Override the query root /// </summary> /// <param name="resourceSet"></param> /// <returns></returns> public override IQueryable GetQueryRootForResourceSet(ResourceSet resourceSet) { // First parameterize the expression tree, then fix the tree for Geo and Enum return(EFParameterizedQueryProvider.CreateQuery(base.GetQueryRootForResourceSet(resourceSet))); }