예제 #1
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;
        }
예제 #2
0
 public static IQueryable <TEntity> EagerLoadWithStrategy <TEntity>(this IQueryable <TEntity> query, DbContext dbContext, IIncludeStrategy includeStrategy,
                                                                    bool eagerLoad, params string[] navigationPropertiesToIgnore) where TEntity : class
 {
     return(query.EagerLoadWithStrategy(dbContext, includeStrategy, (eagerLoad ? IncludeExecution.Cached : IncludeExecution.Skip),
                                        navigationPropertiesToIgnore));
 }
예제 #3
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));
        }
예제 #4
0
 public static IQueryable <TEntity> EagerLoadWithStrategy <TEntity>(this IQueryable <TEntity> query, DbContext dbContext, IIncludeStrategy includeStrategy,
                                                                    params string[] navigationPropertiesToIgnore) where TEntity : class
 {
     return(query.EagerLoadWithStrategy(dbContext, includeStrategy, true, navigationPropertiesToIgnore));
 }