private void Initialize() { _attributesScope = new EagerAttributeProcessor() .MarkEagers <StorageEntity>(this); DbProvider = new Provider <IUnitOfWork>(() => new UnitOfWork()); }
public RepositoryBase(IDataset <Entity> dbset) { DbSet = dbset; _attributesScope = new EagerAttributeProcessor() .MarkEagers <Entity>(this); }
private EagerScopeManager MarkEagersList <StorageEntity>(List <Eager> eagers) where StorageEntity : class { if (eagers.Count > 0) { var scope = new EagerScopeManager(); var type = typeof(StorageEntity); foreach (var eager in eagers) { if (eager.EntityType == type) { if (eager.PropertyNames.Length == 0) { scope.Mark <StorageEntity>(); } foreach (string prop in eager.PropertyNames) { scope.Mark <StorageEntity>(q => q.Include(prop)); } } } return(scope); } return(null); }
public AttributeEagerScopeManager(IDisposable parent) { _attributesScope = new EagerAttributeProcessor() .MarkEagers <Entity>(parent); }
protected IQueryable <Entity> ApplyEagerMarking(IQueryable <Entity> queryable) { return(EagerScopeManager.Apply(queryable)); }