示例#1
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;
        }
        public async Task BatchCommands_creates_valid_batch_for_deleted_entities()
        {
            var model = CreateModel();

            var stateEntry = new MixedStateEntry(
                CreateConfiguration(),
                model.GetEntityType(typeof(FakeEntity)), new FakeEntity {
                Id = 42, Value = "Test"
            });

            await stateEntry.SetEntityStateAsync(EntityState.Deleted);

            var commandBatches = new CommandBatchPreparer(new ParameterNameGeneratorFactory()).BatchCommands(new[] { stateEntry }).ToArray();

            Assert.Equal(1, commandBatches.Count());
            Assert.Equal(1, commandBatches.First().ModificationCommands.Count());

            var command = commandBatches.First().ModificationCommands.Single();

            Assert.Equal(EntityState.Deleted, command.EntityState);
            Assert.Equal(1, command.ColumnModifications.Count);

            var columnMod = command.ColumnModifications[0];

            Assert.Equal("Id", columnMod.ColumnName);
            Assert.Same(stateEntry, columnMod.StateEntry);
            Assert.Equal("Id", columnMod.Property.Name);
            Assert.True(columnMod.IsCondition);
            Assert.True(columnMod.IsKey);
            Assert.False(columnMod.IsRead);
            Assert.False(columnMod.IsWrite);
        }
示例#3
0
        protected RelationalDataStore(
            [NotNull] IModel model,
            [NotNull] IEntityKeyFactorySource entityKeyFactorySource,
            [NotNull] IEntityMaterializerSource entityMaterializerSource,
            [NotNull] IRelationalConnection connection,
            [NotNull] CommandBatchPreparer batchPreparer,
            [NotNull] BatchExecutor batchExecutor,
            [NotNull] IDbContextOptions options,
            [NotNull] ILoggerFactory loggerFactory)
            : base(
                Check.NotNull(model, nameof(model)),
                Check.NotNull(entityKeyFactorySource, nameof(entityKeyFactorySource)),
                Check.NotNull(entityMaterializerSource, nameof(entityMaterializerSource)),
                Check.NotNull(loggerFactory, nameof(loggerFactory)))
        {
            Check.NotNull(connection, nameof(connection));
            Check.NotNull(batchPreparer, nameof(batchPreparer));
            Check.NotNull(batchExecutor, nameof(batchExecutor));
            Check.NotNull(options, nameof(options));

            _batchPreparer = batchPreparer;
            _batchExecutor = batchExecutor;
            _connection    = connection;
            _options       = options;
        }
示例#4
0
 public SqlStoreWithBufferReader(
     DbContextConfiguration configuration,
     SqlServerConnection connection,
     CommandBatchPreparer batchPreparer,
     SqlServerBatchExecutor batchExecutor)
     : base(configuration, connection, batchPreparer, batchExecutor)
 {
 }
 public FakeRelationalDataStore(
     DbContextConfiguration configuration,
     RelationalConnection connection,
     CommandBatchPreparer batchPreparer,
     BatchExecutor batchExecutor)
     : base(configuration, connection, batchPreparer, batchExecutor)
 {
 }
 public SqlServerDataStore(
     [NotNull] DbContextConfiguration configuration,
     [NotNull] SqlServerConnection connection,
     [NotNull] CommandBatchPreparer batchPreparer,
     [NotNull] SqlServerBatchExecutor batchExecutor)
     : base(configuration, connection, batchPreparer, batchExecutor)
 {
 }
示例#7
0
 public SQLiteDataStore(
     [NotNull] DbContextConfiguration configuration,
     [NotNull] SQLiteConnection connection,
     [NotNull] CommandBatchPreparer batchPreparer,
     [NotNull] SQLiteBatchExecutor batchExecutor)
     : base(configuration, connection, batchPreparer, batchExecutor)
 {
 }
示例#8
0
 public FakeRelationalDataStore(
     IModel model,
     IEntityKeyFactorySource entityKeyFactorySource,
     IEntityMaterializerSource entityMaterializerSource,
     IRelationalConnection connection,
     CommandBatchPreparer batchPreparer,
     BatchExecutor batchExecutor,
     IDbContextOptions options,
     ILoggerFactory loggerFactory)
     : base(model, entityKeyFactorySource, entityMaterializerSource, connection, batchPreparer, batchExecutor, options, loggerFactory)
 {
 }
 public FakeRelationalDataStore(
     IModel model,
     IEntityKeyFactorySource entityKeyFactorySource,
     IEntityMaterializerSource entityMaterializerSource,
     IRelationalConnection connection,
     CommandBatchPreparer batchPreparer,
     BatchExecutor batchExecutor,
     IDbContextOptions options,
     ILoggerFactory loggerFactory)
     : base(model, entityKeyFactorySource, entityMaterializerSource, connection, batchPreparer, batchExecutor, options, loggerFactory)
 {
 }
示例#10
0
        protected RelationalDataStore(
            [NotNull] DbContextConfiguration configuration,
            [NotNull] RelationalConnection connection,
            [NotNull] CommandBatchPreparer batchPreparer,
            [NotNull] BatchExecutor batchExecutor)
            : base(configuration)
        {
            Check.NotNull(connection, "connection");
            Check.NotNull(batchPreparer, "batchPreparer");
            Check.NotNull(batchExecutor, "batchExecutor");

            _batchPreparer = batchPreparer;
            _batchExecutor = batchExecutor;
            _connection    = connection;
        }
 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 FakeRelationalDataStore(
     DbContextConfiguration configuration,
     RelationalConnection connection,
     CommandBatchPreparer batchPreparer,
     BatchExecutor batchExecutor)
     : base(configuration, connection, batchPreparer, batchExecutor)
 {
 }