예제 #1
0
        /// <summary>
        ///     This API supports the Entity Framework Core infrastructure and is not intended to be used
        ///     directly from your code. This API may change or be removed in future releases.
        /// </summary>
        public StateManager([NotNull] StateManagerDependencies dependencies)
        {
            _internalEntityEntryFactory    = dependencies.InternalEntityEntryFactory;
            _internalEntityEntrySubscriber = dependencies.InternalEntityEntrySubscriber;
            InternalEntityEntryNotifier    = dependencies.InternalEntityEntryNotifier;
            ValueGenerationManager         = dependencies.ValueGenerationManager;
            _model                   = dependencies.Model;
            _database                = dependencies.Database;
            _concurrencyDetector     = dependencies.ConcurrencyDetector;
            Context                  = dependencies.CurrentContext.Context;
            EntityFinderFactory      = new EntityFinderFactory(dependencies.EntityFinderSource, this, dependencies.SetSource, dependencies.CurrentContext.Context);
            EntityMaterializerSource = dependencies.EntityMaterializerSource;

            if (dependencies.LoggingOptions.IsSensitiveDataLoggingEnabled)
            {
                _sensitiveLoggingEnabled = true;
            }

            _updateLogger = dependencies.UpdateLogger;
        }
 /// <summary>
 ///     This API supports the Entity Framework Core infrastructure and is not intended to be used
 ///     directly from your code. This API may change or be removed in future releases.
 /// </summary>
 public virtual IEntityFinder CreateEntityFinder(IEntityType entityType)
 => EntityFinderFactory.Create(entityType);