/// <summary>
 /// Saves the expand path strings from queryable.GetIncludes(),
 /// for later lazy initialization and serialization.
 /// </summary>
 /// <param name="queryable"></param>
 /// <returns></returns>
 protected IQueryable NHApplyExpand(IQueryableInclude queryable)
 {
     var expands = queryable.GetIncludes();
     if (expands != null && expands.Count > 0)
     {
         this.expandPaths = expands.ToArray();
     }
     return queryable;
 }
Example #2
0
        /// <summary>
        /// Saves the expand path strings from queryable.GetIncludes(),
        /// for later lazy initialization and serialization.
        /// </summary>
        /// <param name="queryable"></param>
        /// <returns></returns>
        protected IQueryable NHApplyExpand(IQueryableInclude queryable)
        {
            var expands = queryable.GetIncludes();

            if (expands != null && expands.Count > 0)
            {
                this.expandPaths = expands.ToArray();
            }
            return(queryable);
        }
Example #3
0
        /// <summary>
        /// Performs expands based on the list of strings in queryable.GetIncludes().
        /// Also populates the ExpandTypeMap that controls lazy initialization and serialization.
        /// </summary>
        /// <param name="queryable"></param>
        /// <returns></returns>
        public IQueryable ApplyExpand(IQueryableInclude queryable)
        {
            var expands = queryable.GetIncludes();
            if (expands == null || expands.Count == 0) return queryable;
            var session = GetSession(queryable);
            var fetcher = new NHEagerFetch(session.SessionFactory);
            var expandedQueryable = fetcher.ApplyExpansions(queryable, expands.ToArray(), expandMap);

            return expandedQueryable;
        }
Example #4
0
        /// <summary>
        /// Performs expands based on the list of strings in queryable.GetIncludes().
        /// Also populates the ExpandTypeMap that controls lazy initialization and serialization.
        /// </summary>
        /// <param name="queryable"></param>
        /// <returns></returns>
        public IQueryable ApplyExpand(IQueryableInclude queryable)
        {
            var expands = queryable.GetIncludes();

            if (expands == null || expands.Count == 0)
            {
                return(queryable);
            }
            var session           = GetSession(queryable);
            var fetcher           = new NHEagerFetch(session.SessionFactory);
            var expandedQueryable = fetcher.ApplyExpansions(queryable, expands.ToArray(), expandMap);

            return(expandedQueryable);
        }