/// <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 }));
        }
Esempio n. 2
0
 /// <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)));
 }