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); }
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)); }
public IEnumerable <Association> GetAssociationsWhereEntityIsDependent(string entityName, IEntityTypeFilter filter) { TestEntityNameIsNull(entityName); return(Associations.Where(association => association.Dependent.Equals(entityName)) .Where(association => !filter.IsSkipped(association.Principal))); }