ThenInclude <TNewProperty>(Expression <Func <TProperty, TNewProperty> > navigationPropertyPath) where TNewProperty : class
 {
     return(new BusinessIncludableQuery <TCollection, TReadOnlyCollection, TObject, TEntry, TKey, TNewProperty>
            (
                this,
                _includableQueryable.ThenInclude <TEntry, TProperty, TNewProperty>(navigationPropertyPath)
            ));
 }
예제 #2
0
 public static IQueryable <TEntity> OptionalThenInclude <TEntity, TPreviousProperty, TProperty>(
     [NotNull] this IIncludableQueryable <TEntity, TPreviousProperty> source,
     [NotNull] Expression <Func <TPreviousProperty, TProperty> > navigationPropertyPath,
     bool performInclude)
     where TEntity : class
 {
     return(!performInclude ? (IQueryable <TEntity>)source : source.ThenInclude(navigationPropertyPath));
 }
예제 #3
0
        public static IIncludableJoin <TEntity, TProperty> ThenIncludeJoin <TEntity, TPreviousProperty, TProperty>(
            this IIncludableJoin <TEntity, TPreviousProperty> query,
            Expression <Func <TPreviousProperty, TProperty> > propToExpand)
            where TEntity : class
        {
            IIncludableQueryable <TEntity, TPreviousProperty> queryable = ((IncludableJoin <TEntity, TPreviousProperty>)query).GetQuery();

            return(new IncludableJoin <TEntity, TProperty>(queryable.ThenInclude(propToExpand)));
        }
예제 #4
0
 public static IIncludableQueryable <TEntity, TProperty> ThenIncludeMany <TEntity, TPreviousProperty, TProperty>(
     [NotNull] this IIncludableQueryable <TEntity, TPreviousProperty> source,
     Expression <Func <TPreviousProperty, IEnumerable <TProperty> > > navigationPropertyPath)
     where TEntity : class
 {
     return(source
            .ThenInclude(navigationPropertyPath)
            .ThenInclude <TEntity, TProperty, TProperty>(r => r));
 }
예제 #5
0
        private static IQueryable <TEntity> Include <TEntity>(IIncludableQueryable <TEntity, object> queryable, ThenIncludable includable)
            where TEntity : class
        {
            if (includable == null)
            {
                return(queryable);
            }

            queryable = queryable.ThenInclude(includable.Expression);
            return(Include(queryable, includable.NestedThenIncludable));
        }
예제 #6
0
 public IIncludableQueryable <TEntity, TProperty> AddThenInclude <TEntity, TElement, TProperty>(IIncludableQueryable <TEntity, TElement> expression
                                                                                                , Expression <Func <TElement, TProperty> > includeProperty) where TEntity : class where TElement : class
 {
     try
     {
         return(expression.ThenInclude(includeProperty));
     }
     catch (Exception)
     {
         throw;
     }
 }
 public static IIncludableQueryable <TEntity, TProperty> ThenIncludeData <TEntity, TPreviousProperty, TProperty>(this IIncludableQueryable <TEntity, ICollection <TPreviousProperty> > query,
                                                                                                                 Expression <Func <TPreviousProperty, TProperty> > include)
     where TEntity : class
 {
     return(query.ThenInclude(include));
 }
예제 #8
0
 public static IIncludableQueryable <TEntity, TProperty> ThenIncludeEntity <TEntity, TPreviousProperty, TProperty>(this IIncludableQueryable <TEntity, TPreviousProperty> source, Expression <Func <TPreviousProperty, TProperty> > navigationPropertyPath) where TEntity : class
 {
     return(source.ThenInclude(navigationPropertyPath));
 }
예제 #9
0
 private static IIncludableQueryable <TEntity, TProperty> SearchThenIncludeEnumerable <TEntity, TPreviousProperty, TProperty>(IIncludableQueryable <TEntity, IEnumerable <TPreviousProperty> > source, Expression <Func <TPreviousProperty, TProperty> > navigationPropertyPath) where TEntity : class
 {
     return(source.ThenInclude(navigationPropertyPath));
 }
예제 #10
0
 /// <summary>
 /// ThenInclude
 /// </summary>
 /// <typeparam name="TProperty"></typeparam>
 /// <typeparam name="T2Property"></typeparam>
 /// <param name="queryable"></param>
 /// <param name="xFunc"></param>
 /// <returns></returns>
 public virtual IIncludableQueryable <T, T2Property> ThenInclude <TProperty, T2Property>(
     IIncludableQueryable <T, TProperty> queryable, Expression <Func <TProperty, T2Property> > xFunc)
 {
     return(queryable.ThenInclude(xFunc));
 }