public ModificationCommand([NotNull] string tableName, [CanBeNull] string schema, [NotNull] ParameterNameGenerator parameterNameGenerator)
        {
            Check.NotEmpty(tableName, "tableName");
            Check.NotNull(parameterNameGenerator, "parameterNameGenerator");

            _tableName = tableName;
            _schema = schema;
            _parameterNameGenerator = parameterNameGenerator;
        }
        protected ModificationCommand CreateDeleteCommand(bool concurrencyToken = true)
        {
            var entry = new Mock<InternalEntityEntry>().Object;
            var generator = new ParameterNameGenerator();

            var idProperty = CreateMockProperty("Id");
            var concurrencyProperty = CreateMockProperty("ConcurrencyToken");
            var columnModifications = new[]
                {
                    new ColumnModification(
                        entry, idProperty, idProperty.Relational(), generator, null, false, false, true, true),
                    new ColumnModification(
                        entry, concurrencyProperty, concurrencyProperty.Relational(), generator, null, false, false, false, concurrencyToken)
                };

            Func<IProperty, IRelationalPropertyExtensions> func = p => p.Relational();
            var commandMock = new Mock<ModificationCommand>("Ducks", SchemaName, new ParameterNameGenerator(), func, new BoxedValueReaderSource()) { CallBase = true };
            commandMock.Setup(m => m.ColumnModifications).Returns(columnModifications);

            return commandMock.Object;
        }
        protected ModificationCommand CreateInsertCommand(bool identityKey = true, bool isComputed = true, bool defaultsOnly = false)
        {
            var entry = new Mock<InternalEntityEntry>().Object;
            var generator = new ParameterNameGenerator();

            var idProperty = CreateMockProperty("Id");
            var nameProperty = CreateMockProperty("Name");
            var quacksProperty = CreateMockProperty("Quacks");
            var computedProperty = CreateMockProperty("Computed");
            var concurrencyProperty = CreateMockProperty("ConcurrencyToken");
            var columnModifications = new[]
                {
                    new ColumnModification(
                        entry, idProperty, idProperty.Relational(), generator, new GenericBoxedValueReader<int>() , identityKey, !identityKey, true, false),
                    new ColumnModification(
                        entry, nameProperty, nameProperty.Relational(), generator, null, false, true, false, false),
                    new ColumnModification(
                        entry, quacksProperty, quacksProperty.Relational(), generator, null, false, true, false, false),
                    new ColumnModification(
                        entry, computedProperty, computedProperty.Relational(), generator, new GenericBoxedValueReader<int>(), isComputed, false, false, false),
                    new ColumnModification(
                        entry, concurrencyProperty, concurrencyProperty.Relational(), generator, null, false, true, false, false)
                };

            if (defaultsOnly)
            {
                columnModifications = columnModifications.Where(c => !c.IsWrite).ToArray();
            }

            Func<IProperty, IRelationalPropertyExtensions> func = p => p.Relational();
            var commandMock = new Mock<ModificationCommand>("Ducks", SchemaName, new ParameterNameGenerator(), func, new BoxedValueReaderSource()) { CallBase = true };
            commandMock.Setup(m => m.ColumnModifications).Returns(columnModifications);

            return commandMock.Object;
        }
        protected ModificationCommand CreateUpdateCommand(bool isComputed = true, bool concurrencyToken = true)
        {
            var entry = CreateInternalEntryMock().Object;
            var generator = new ParameterNameGenerator();

            var idProperty = CreateMockProperty("Id");
            var nameProperty = CreateMockProperty("Name");
            var quacksProperty = CreateMockProperty("Quacks");
            var computedProperty = CreateMockProperty("Computed");
            var concurrencyProperty = CreateMockProperty("ConcurrencyToken");
            var columnModifications = new[]
                {
                    new ColumnModification(
                        entry, idProperty, idProperty.Relational(), generator, false, false, true, true),
                    new ColumnModification(
                        entry, nameProperty, nameProperty.Relational(), generator, false, true, false, false),
                    new ColumnModification(
                        entry, quacksProperty, quacksProperty.Relational(), generator, false, true, false, false),
                    new ColumnModification(
                        entry, computedProperty, computedProperty.Relational(), generator, isComputed, false, false, false),
                    new ColumnModification(
                        entry, concurrencyProperty, concurrencyProperty.Relational(), generator, false, true, false, concurrencyToken)
                };

            Func<IProperty, IRelationalPropertyExtensions> func = p => p.Relational();
            var commandMock = new Mock<ModificationCommand>("Ducks", SchemaName, new ParameterNameGenerator(), func, Mock.Of<IRelationalValueBufferFactoryFactory>()) { CallBase = true };
            commandMock.Setup(m => m.ColumnModifications).Returns(columnModifications);

            return commandMock.Object;
        }
示例#5
0
        public ModificationCommand([NotNull] string tableName, [CanBeNull] string schema, [NotNull] ParameterNameGenerator parameterNameGenerator)
        {
            Check.NotEmpty(tableName, "tableName");
            Check.NotNull(parameterNameGenerator, "parameterNameGenerator");

            _tableName = tableName;
            _schema    = schema;
            _parameterNameGenerator = parameterNameGenerator;
        }