public void GetCreateElement_WithAllOptionsOff()
        {
            var entityNameDefinition = new EntityNameDefinition(null, "TableName");
            var indexDefinition      = new SqlIndexDefinition(
                "Index1",
                new[] { _column1, _column2 },
                new[] { _includedColumn1 },
                false,
                false,
                false,
                false,
                false,
                0,
                false,
                false,
                false,
                false,
                false,
                0);

            var result = _factory.GetCreateElement(indexDefinition, entityNameDefinition);

            var expectedResult =
                "CREATE NONCLUSTERED INDEX [Index1]\r\n"
                + "  ON [dbo].[TableName] ([IndexColumn1] DESC, [IndexColumn2] ASC)\r\n"
                + "  INCLUDE ([IncludedColumn1])\r\n"
                + "  WITH (IGNORE_DUP_KEY = OFF, ONLINE = OFF, PAD_INDEX = OFF, FILLFACTOR = 0, SORT_IN_TEMPDB = OFF, STATISTICS_NORECOMPUTE = OFF, "
                + "DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = OFF, ALLOW_PAGE_LOCKS = OFF, MAXDOP = 0)";

            Assert.That(((ScriptStatement)result).Statement, Is.EqualTo(expectedResult));
        }
コード例 #2
0
        public void SetUp()
        {
            _columns         = new[] { new SqlIndexedColumnDefinition(ColumnDefinitionObjectMother.CreateColumn("TestColumn1")) };
            _includedColumns = new[] { ColumnDefinitionObjectMother.CreateColumn("TestColumn2") };

            _sqlIndexDefinition = new SqlIndexDefinition(
                "IndexName", _columns, _includedColumns, true, true, true, true, true, 5, true, true, true, true, true, 2);
        }
        public void GetCreateElement_WithIncludedColumnsAndSomeOptions()
        {
            var entityNameDefinition = new EntityNameDefinition(null, "TableName");
            var indexDefinition      = new SqlIndexDefinition(
                "Index1", new[] { _column1, _column2 }, new[] { _includedColumn1 }, false, false, true, true);

            var result = _factory.GetCreateElement(indexDefinition, entityNameDefinition);

            var expectedResult =
                "CREATE NONCLUSTERED INDEX [Index1]\r\n"
                + "  ON [dbo].[TableName] ([IndexColumn1] DESC, [IndexColumn2] ASC)\r\n"
                + "  INCLUDE ([IncludedColumn1])\r\n"
                + "  WITH (IGNORE_DUP_KEY = ON, ONLINE = ON)";

            Assert.That(((ScriptStatement)result).Statement, Is.EqualTo(expectedResult));
        }
        public override void SetUp()
        {
            base.SetUp();

            _factory = new SqlIndexDefinitionScriptElementFactory();

            _column1         = new SqlIndexedColumnDefinition(ColumnDefinitionObjectMother.CreateColumn("IndexColumn1"), IndexOrder.Desc);
            _column2         = new SqlIndexedColumnDefinition(ColumnDefinitionObjectMother.CreateColumn("IndexColumn2"), IndexOrder.Asc);
            _includedColumn1 = ColumnDefinitionObjectMother.CreateColumn("IncludedColumn1");
            _includedColumn2 = ColumnDefinitionObjectMother.CreateColumn("IncludedColumn2");

            _customSchemaNameDefinition       = new EntityNameDefinition("SchemaName", "TableName1");
            _indexDefinitionWithCustomSchema  = new SqlIndexDefinition("Index1", new[] { _column1 });
            _defaultSchemaNameDefinition      = new EntityNameDefinition(null, "TableName2");
            _indexDefinitionWithDefaultSchema = new SqlIndexDefinition("Index2", new[] { _column2 });
        }
コード例 #5
0
        public override void SetUp()
        {
            base.SetUp();

            _indexDefinitionElementFactoryMock          = MockRepository.GenerateStub <ISqlIndexDefinitionScriptElementFactory <SqlIndexDefinition> >();
            _primaryIndexDefinitionElementFactoryMock   = MockRepository.GenerateStub <ISqlIndexDefinitionScriptElementFactory <SqlPrimaryXmlIndexDefinition> > ();
            _secondaryIndexDefinitionElementFactoryMock =
                MockRepository.GenerateStub <ISqlIndexDefinitionScriptElementFactory <SqlSecondaryXmlIndexDefinition> >();

            _factory = new SqlIndexScriptElementFactory(
                _indexDefinitionElementFactoryMock, _primaryIndexDefinitionElementFactoryMock, _secondaryIndexDefinitionElementFactoryMock);

            var simpleColumn  = ColumnDefinitionObjectMother.CreateColumn("Column");
            var indexedColumn = new SqlIndexedColumnDefinition(simpleColumn, IndexOrder.Desc);

            _entityNameDefinition     = new EntityNameDefinition(null, "Table");
            _indexDefinition          = new SqlIndexDefinition("Index1", new[] { indexedColumn });
            _primaryIndexDefinition   = new SqlPrimaryXmlIndexDefinition("Index2", simpleColumn);
            _secondaryIndexDefinition = new SqlSecondaryXmlIndexDefinition(
                "Index3", simpleColumn, "PrimaryIndexName", SqlSecondaryXmlIndexKind.Property);

            _fakeScriptElement = MockRepository.GenerateStub <IScriptElement>();
        }
コード例 #6
0
        public void Initialization_NoIncludedColumns()
        {
            _sqlIndexDefinition = new SqlIndexDefinition("IndexName", _columns, null, true, true, true, true);

            Assert.That(_sqlIndexDefinition.IncludedColumns, Is.Null);
        }
コード例 #7
0
 private void AddIndexDefinition(SqlIndexDefinition indexDefinition, EntityNameDefinition ownerName)
 {
     _createScriptElement = _indexDefinitionElementFactory.GetCreateElement(indexDefinition, ownerName);
     _dropScriptElement   = _indexDefinitionElementFactory.GetDropElement(indexDefinition, ownerName);
 }
コード例 #8
0
 void ISqlIndexDefinitionVisitor.VisitIndexDefinition(SqlIndexDefinition sqlIndexDefinition)
 {
     _elementFactory.AddIndexDefinition(sqlIndexDefinition, _ownerName);
 }