Example #1
0
        protected DataStore(
            [NotNull] StateManager stateManager,
            [NotNull] DbContextService <IModel> model,
            [NotNull] EntityKeyFactorySource entityKeyFactorySource,
            [NotNull] EntityMaterializerSource entityMaterializerSource,
            [NotNull] ClrCollectionAccessorSource collectionAccessorSource,
            [NotNull] ClrPropertySetterSource propertySetterSource,
            [NotNull] ILoggerFactory loggerFactory)
        {
            Check.NotNull(stateManager, "stateManager");
            Check.NotNull(model, "model");
            Check.NotNull(entityKeyFactorySource, "entityKeyFactorySource");
            Check.NotNull(entityMaterializerSource, "entityMaterializerSource");
            Check.NotNull(collectionAccessorSource, "collectionAccessorSource");
            Check.NotNull(propertySetterSource, "propertySetterSource");
            Check.NotNull(loggerFactory, "loggerFactory");

            _stateManager             = stateManager;
            _model                    = model;
            _entityKeyFactorySource   = entityKeyFactorySource;
            _entityMaterializerSource = entityMaterializerSource;
            _collectionAccessorSource = collectionAccessorSource;
            _propertySetterSource     = propertySetterSource;
            _logger                   = new LazyRef <ILogger>(loggerFactory.Create <DataStore>);
        }
Example #2
0
        protected RelationalDataStore(
            [NotNull] StateManager stateManager,
            [NotNull] DbContextService <IModel> model,
            [NotNull] EntityKeyFactorySource entityKeyFactorySource,
            [NotNull] EntityMaterializerSource entityMaterializerSource,
            [NotNull] ClrCollectionAccessorSource collectionAccessorSource,
            [NotNull] ClrPropertySetterSource propertySetterSource,
            [NotNull] RelationalConnection connection,
            [NotNull] CommandBatchPreparer batchPreparer,
            [NotNull] BatchExecutor batchExecutor,
            [NotNull] DbContextService <IDbContextOptions> options,
            [NotNull] ILoggerFactory loggerFactory)
            : base(stateManager, model, entityKeyFactorySource, entityMaterializerSource,
                   collectionAccessorSource, propertySetterSource, loggerFactory)
        {
            Check.NotNull(connection, "connection");
            Check.NotNull(batchPreparer, "batchPreparer");
            Check.NotNull(batchExecutor, "batchExecutor");
            Check.NotNull(options, "options");

            _batchPreparer = batchPreparer;
            _batchExecutor = batchExecutor;
            _connection    = connection;
            _options       = options.Service;
        }
Example #3
0
        public InMemoryDataStore(
            [NotNull] StateManager stateManager,
            [NotNull] DbContextService <IModel> model,
            [NotNull] EntityKeyFactorySource entityKeyFactorySource,
            [NotNull] EntityMaterializerSource entityMaterializerSource,
            [NotNull] ClrCollectionAccessorSource collectionAccessorSource,
            [NotNull] ClrPropertySetterSource propertySetterSource,
            [NotNull] InMemoryDatabase persistentDatabase,
            [NotNull] DbContextService <IDbContextOptions> options,
            [NotNull] ILoggerFactory loggerFactory)
            : base(stateManager, model, entityKeyFactorySource, entityMaterializerSource,
                   collectionAccessorSource, propertySetterSource, loggerFactory)
        {
            Check.NotNull(persistentDatabase, "persistentDatabase");

            var storeConfig = options.Service.Extensions
                              .OfType <InMemoryOptionsExtension>()
                              .FirstOrDefault();

            _persist = (storeConfig != null ? (bool?)storeConfig.Persist : null) ?? true;

            _database = new ThreadSafeLazyRef <InMemoryDatabase>(
                () => _persist
                    ? persistentDatabase
                    : new InMemoryDatabase(loggerFactory));
        }
Example #4
0
        public DbSetInitializer([NotNull] DbSetFinder setFinder, [NotNull] ClrPropertySetterSource setSetters)
        {
            Check.NotNull(setFinder, "setFinder");
            Check.NotNull(setSetters, "setSetters");

            _setFinder = setFinder;
            _setSetters = setSetters;
        }
Example #5
0
        public void Property_is_returned_if_it_implements_IClrPropertySetter()
        {
            var setterMock   = new Mock <IClrPropertySetter>();
            var propertyMock = setterMock.As <IProperty>();

            var source = new ClrPropertySetterSource();

            Assert.Same(setterMock.Object, source.GetAccessor(propertyMock.Object));
        }
        public void Property_is_returned_if_it_implements_IClrPropertySetter()
        {
            var setterMock = new Mock<IClrPropertySetter>();
            var propertyMock = setterMock.As<IProperty>();

            var source = new ClrPropertySetterSource();

            Assert.Same(setterMock.Object, source.GetAccessor(propertyMock.Object));
        }
        public void Delegate_setter_is_cached_by_type_and_property_name()
        {
            var entityType = new EntityType(typeof(Customer));
            var idProperty = entityType.AddProperty("Id", typeof(int));

            var source = new ClrPropertySetterSource();

            var accessor = source.GetAccessor(typeof(Customer), "Id");
            Assert.Same(accessor, source.GetAccessor(typeof(Customer), "Id"));
            Assert.Same(accessor, source.GetAccessor(idProperty));
        }
Example #8
0
        public void Delegate_setter_is_cached_by_type_and_property_name()
        {
            var entityType = new Model().AddEntityType(typeof(Customer));
            var idProperty = entityType.GetOrAddProperty("Id", typeof(int));

            var source = new ClrPropertySetterSource();

            var accessor = source.GetAccessor(typeof(Customer), "Id");

            Assert.Same(accessor, source.GetAccessor(typeof(Customer), "Id"));
            Assert.Same(accessor, source.GetAccessor(idProperty));
        }
Example #9
0
        public NavigationFixer(
            [NotNull] StateManager stateManager,
            [NotNull] ClrCollectionAccessorSource collectionAccessorSource,
            [NotNull] ClrPropertySetterSource setterSource)
        {
            Check.NotNull(stateManager, "stateManager");
            Check.NotNull(collectionAccessorSource, "collectionAccessorSource");
            Check.NotNull(setterSource, "setterSource");

            _stateManager             = stateManager;
            _collectionAccessorSource = collectionAccessorSource;
            _setterSource             = setterSource;
        }
Example #10
0
 public SqlServerDataStore(
     [NotNull] StateManager stateManager,
     [NotNull] DbContextService <IModel> model,
     [NotNull] EntityKeyFactorySource entityKeyFactorySource,
     [NotNull] EntityMaterializerSource entityMaterializerSource,
     [NotNull] ClrCollectionAccessorSource collectionAccessorSource,
     [NotNull] ClrPropertySetterSource propertySetterSource,
     [NotNull] SqlServerConnection connection,
     [NotNull] SqlServerCommandBatchPreparer batchPreparer,
     [NotNull] SqlServerBatchExecutor batchExecutor,
     [NotNull] ILoggerFactory loggerFactory)
     : base(stateManager, model, entityKeyFactorySource, entityMaterializerSource,
            collectionAccessorSource, propertySetterSource, connection, batchPreparer, batchExecutor, loggerFactory)
 {
 }
 public FakeRelationalDataStore(
     StateManager stateManager,
     DbContextService <IModel> model,
     EntityKeyFactorySource entityKeyFactorySource,
     EntityMaterializerSource entityMaterializerSource,
     ClrCollectionAccessorSource collectionAccessorSource,
     ClrPropertySetterSource propertySetterSource,
     RelationalConnection connection,
     CommandBatchPreparer batchPreparer,
     BatchExecutor batchExecutor,
     ILoggerFactory loggerFactory)
     : base(stateManager, model, entityKeyFactorySource, entityMaterializerSource,
            collectionAccessorSource, propertySetterSource, connection, batchPreparer, batchExecutor, loggerFactory)
 {
 }
 public SqlStoreWithBufferReader(
     StateManager stateManager,
     DbContextService <IModel> model,
     EntityKeyFactorySource entityKeyFactorySource,
     EntityMaterializerSource entityMaterializerSource,
     ClrCollectionAccessorSource collectionAccessorSource,
     ClrPropertySetterSource propertySetterSource,
     SqlServerConnection connection,
     SqlServerCommandBatchPreparer batchPreparer,
     SqlServerBatchExecutor batchExecutor,
     ILoggerFactory loggerFactory)
     : base(stateManager, model, entityKeyFactorySource, entityMaterializerSource,
            collectionAccessorSource, propertySetterSource, connection, batchPreparer, batchExecutor, loggerFactory)
 {
 }
Example #13
0
        public NavigationFixer(
            [NotNull] ClrPropertyGetterSource getterSource,
            [NotNull] ClrPropertySetterSource setterSource,
            [NotNull] ClrCollectionAccessorSource collectionAccessorSource,
            [NotNull] DbContextService <IModel> model)
        {
            Check.NotNull(getterSource, "getterSource");
            Check.NotNull(setterSource, "setterSource");
            Check.NotNull(collectionAccessorSource, "collectionAccessorSource");
            Check.NotNull(model, "model");

            _getterSource             = getterSource;
            _setterSource             = setterSource;
            _collectionAccessorSource = collectionAccessorSource;
            _model = model;
        }
Example #14
0
        public NavigationFixer(
            [NotNull] DbContextConfiguration configuration,
            [NotNull] ClrPropertyGetterSource getterSource,
            [NotNull] ClrPropertySetterSource setterSource,
            [NotNull] ClrCollectionAccessorSource collectionAccessorSource)
        {
            Check.NotNull(configuration, "configuration");
            Check.NotNull(getterSource, "getterSource");
            Check.NotNull(setterSource, "setterSource");
            Check.NotNull(collectionAccessorSource, "collectionAccessorSource");

            _configuration            = configuration;
            _getterSource             = getterSource;
            _setterSource             = setterSource;
            _collectionAccessorSource = collectionAccessorSource;
        }
Example #15
0
        public NavigationFixer(
            [NotNull] DbContextConfiguration configuration,
            [NotNull] ClrPropertyGetterSource getterSource,
            [NotNull] ClrPropertySetterSource setterSource,
            [NotNull] ClrCollectionAccessorSource collectionAccessorSource)
        {
            Check.NotNull(configuration, "configuration");
            Check.NotNull(getterSource, "getterSource");
            Check.NotNull(setterSource, "setterSource");
            Check.NotNull(collectionAccessorSource, "collectionAccessorSource");

            _configuration = configuration;
            _getterSource = getterSource;
            _setterSource = setterSource;
            _collectionAccessorSource = collectionAccessorSource;
        }
Example #16
0
        public QueryBuffer(
            [NotNull] StateManager stateManager,
            [NotNull] EntityKeyFactorySource entityKeyFactorySource,
            [NotNull] EntityMaterializerSource materializerSource,
            [NotNull] ClrCollectionAccessorSource clrCollectionAccessorSource,
            [NotNull] ClrPropertySetterSource clrPropertySetterSource)
        {
            Check.NotNull(stateManager, "stateManager");
            Check.NotNull(entityKeyFactorySource, "entityKeyFactorySource");
            Check.NotNull(materializerSource, "materializerSource");
            Check.NotNull(clrCollectionAccessorSource, "clrCollectionAccessorSource");
            Check.NotNull(clrPropertySetterSource, "clrPropertySetterSource");

            _stateManager                = stateManager;
            _entityKeyFactorySource      = entityKeyFactorySource;
            _materializerSource          = materializerSource;
            _clrCollectionAccessorSource = clrCollectionAccessorSource;
            _clrPropertySetterSource     = clrPropertySetterSource;
        }
Example #17
0
        public StateEntryMetadataServices(
            [NotNull] ClrPropertyGetterSource getterSource,
            [NotNull] ClrPropertySetterSource setterSource,
            [NotNull] OriginalValuesFactory originalValuesFactory,
            [NotNull] RelationshipsSnapshotFactory relationshipsSnapshotFactory,
            [NotNull] StoreGeneratedValuesFactory storeGeneratedValuesFactory,
            [NotNull] EntityKeyFactorySource entityKeyFactorySource)
        {
            Check.NotNull(getterSource, "getterSource");
            Check.NotNull(setterSource, "setterSource");
            Check.NotNull(originalValuesFactory, "originalValuesFactory");
            Check.NotNull(relationshipsSnapshotFactory, "relationshipsSnapshotFactory");
            Check.NotNull(storeGeneratedValuesFactory, "storeGeneratedValuesFactory");
            Check.NotNull(entityKeyFactorySource, "entityKeyFactorySource");

            _getterSource                 = getterSource;
            _setterSource                 = setterSource;
            _originalValuesFactory        = originalValuesFactory;
            _relationshipsSnapshotFactory = relationshipsSnapshotFactory;
            _storeGeneratedValuesFactory  = storeGeneratedValuesFactory;
            _entityKeyFactorySource       = entityKeyFactorySource;
        }
Example #18
0
        public static EntityServicesBuilder UseClrPropertySetterSource([NotNull] this EntityServicesBuilder builder, [NotNull] ClrPropertySetterSource source)
        {
            Check.NotNull(source, "source");

            builder.ServiceCollection.AddInstance(source);

            return(builder);
        }