Exemplo n.º 1
0
        public static IQueryable <TEntity> EagerLoadWithStrategy <TEntity>(this IQueryable <TEntity> query, DbContext dbContext, IIncludeStrategy includeStrategy,
                                                                           IncludeExecution includeExecution, params string[] navigationPropertiesToIgnore) where TEntity : class
        {
            var context = new EagerLoadContext(dbContext, includeStrategy, navigationPropertiesToIgnore, includeExecution, typeof(TEntity));

            return(query.EagerLoadWithContext(context));
        }
Exemplo n.º 2
0
        public EagerLoadContext(DbContext dbContext, IIncludeStrategy includeStrategy, IList <string> includePathsToIgnore = null,
                                IncludeExecution includeExecution = IncludeExecution.Cached, Type rootType = null)
        {
            Guard.IsNotNull(nameof(dbContext), dbContext);
            Guard.IsNotNull(nameof(includeStrategy), includeStrategy);

            RootType             = rootType;
            DbContext            = dbContext;
            IncludePathsToIgnore = new List <string>(includePathsToIgnore ?? new string[0]);
            IncludeStrategy      = includeStrategy;
            IncludeExecution     = includeExecution;
        }
        public static IQueryable <TEntity> EagerLoadMatching <TEntity>(this IQueryable <TEntity> query, DbContext dbContext,
                                                                       Predicate <EagerLoadContext> includeStrategyPredicate, IncludeExecution includeExecution, params string[] navigationPropertiesToIgnore)
            where TEntity : class
        {
            var includeStrategy = new PredicateIncludeStrategy(includeStrategyPredicate);

            return(query.EagerLoadWithStrategy(dbContext, includeStrategy, includeExecution, navigationPropertiesToIgnore));
        }
 public static IQueryable <TEntity> EagerLoadForAttribute <TEntity, TAttribute>(this IQueryable <TEntity> query, DbContext dbContext,
                                                                                IncludeExecution includeExecution, params string[] navigationPropertiesToIgnore)
     where TEntity : class
     where TAttribute : Attribute
 {
     return(query.EagerLoadWithStrategy(dbContext, new AttributeExistsIncludeStrategy <TAttribute>(), includeExecution, navigationPropertiesToIgnore));
 }
Exemplo n.º 5
0
 public static IQueryable <TEntity> EagerLoad <TEntity>(this IQueryable <TEntity> query, DbContext dbContext, IncludeExecution includeExecution,
                                                        params string[] ignoredNavigationProperties) where TEntity : class
 {
     return(query.EagerLoadWithStrategy(dbContext, CachedEagerLoadAttributeIncludeStrategy, includeExecution, ignoredNavigationProperties));
 }
Exemplo n.º 6
0
 public static IQueryable <TEntity> EagerLoadAll <TEntity>(this IQueryable <TEntity> query, DbContext dbContext, IncludeExecution includeExecution,
                                                           params string[] navigationPropertiesToIgnore) where TEntity : class
 {
     return(query.EagerLoadWithStrategy(dbContext, NoShadowNavigationIncludeStrategy, includeExecution, navigationPropertiesToIgnore));
 }