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)); }
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)); }
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)); }
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)); }