Ejemplo n.º 1
0
        public void Restore(string entityName, IEnumerable <string> keys, IEnumerable <string> entitiesToSkip = null)
        {
            EntityType          entityType         = GetEntityType(entityName);
            IEntityTypeFilter   filter             = SetUpFilter(entitiesToSkip);
            IDependencyResolver dependencyResolver = new DependencyResolver(backupRepository);

            var restoreTask      = new MaintenanceTask(metadataWorkspace, backupRepository, productionRepository, dependencyResolver, filter);
            var entityKeyMembers = GetEntityKeys(entityType, keys.ToArray());

            restoreTask.Save(entityName, entityKeyMembers);
        }
Ejemplo n.º 2
0
        public MaintenanceTask(IMetadataWorkspace metadataWorkspace, IRepository sourceRepository, IRepository targetRepository,
                               IDependencyResolver dependencyResolver, IEntityTypeFilter filter)
        {
            this.metadataWorkspace  = metadataWorkspace;
            this.sourceRepository   = sourceRepository;
            this.targetRepository   = targetRepository;
            this.dependencyResolver = dependencyResolver;
            this.filter             = filter;
            this.visited            = new List <Entity>();
            this.entityComparer     = new EntityComparer(metadataWorkspace);

            log4net.Config.XmlConfigurator.Configure();
            this.log = LogManager.GetLogger(typeof(MaintenanceTask));
        }
Ejemplo n.º 3
0
        public IEnumerable <Association> GetAssociationsWhereEntityIsDependent(string entityName, IEntityTypeFilter filter)
        {
            TestEntityNameIsNull(entityName);

            return(Associations.Where(association => association.Dependent.Equals(entityName))
                   .Where(association => !filter.IsSkipped(association.Principal)));
        }