public FactProcessor(FactMetadata <TFact> factMetadata, IFactDependencyProcessorFactory dependencyProcessorFactory, IQuery query, IBulkRepository <TFact> repository) { _query = query; _repository = repository; _factMetadata = factMetadata; _depencencyProcessors = _factMetadata.Features.OfType <IFactDependencyFeature>().Select(dependencyProcessorFactory.Create).ToArray(); _indirectDepencencyProcessors = _factMetadata.Features.OfType <IIndirectFactDependencyFeature>().Select(dependencyProcessorFactory.Create).ToArray(); _changesDetector = new DataChangesDetector <TFact, TFact>(_factMetadata.MapSpecificationProviderForSource, _factMetadata.MapSpecificationProviderForTarget, _query); }
public FactDataChangesDetectorFactory(FactMetadata <T> metadata, IEqualityComparerFactory equalityComparerFactory, IQuery query) { _metadata = metadata; _equalityComparerFactory = equalityComparerFactory; _query = query; }