示例#1
0
        public static IQueryable <T> Wrap <T, M>(this IQueryable <M> queryable, WrapperContext context = null)
            where M : T
        {
            if (queryable == null)
            {
                throw new ArgumentNullException(nameof(queryable));
            }
            if (context == null)
            {
                context = new WrapperContext();
            }
            WrappedQueryableProvider <T, M> provider = new WrappedQueryableProvider <T, M>(queryable.Provider, context);

            return(provider.CreateQuery <T>(queryable.Expression));
        }