Пример #1
0
        public void TestCreateInlineInserReturnId()
        {
            // Setup
            var statementBuilder = new SqlDbStatementBuilder();
            var queryBuilder     = new QueryBuilder <TestCreateInlineInserReturnIdClass>();
            var fields           = Field.From(new[] { "Field2", "Field3" });

            // Act
            var actual   = statementBuilder.CreateInlineInsert(queryBuilder, fields);
            var expected = $"" +
                           $"INSERT INTO [TestCreateInlineInserReturnIdClass] " +
                           $"( [Field2], [Field3] ) " +
                           $"VALUES " +
                           $"( @Field2, @Field3 ) ; " +
                           $"SELECT @Id AS [Result] ;";

            // Assert
            Assert.AreEqual(expected, actual);
        }
Пример #2
0
        public void TestCreateInlineInsertWithFieldMappings()
        {
            // Setup
            var statementBuilder = new SqlDbStatementBuilder();
            var queryBuilder     = new QueryBuilder <TestCreateInlineInsertWithFieldMappingsClass>();
            var fields           = Field.From(new[] { "Field1", "Field2", "Field4" });

            // Act
            var actual   = statementBuilder.CreateInlineInsert(queryBuilder, fields);
            var expected = $"" +
                           $"INSERT INTO [ClassName] " +
                           $"( [Field1], [Field2], [Field4] ) " +
                           $"VALUES " +
                           $"( @Field1, @Field2, @Field4 ) ; " +
                           $"SELECT NULL AS [Result] ;";

            // Assert
            Assert.AreEqual(expected, actual);
        }
Пример #3
0
        public void TestCreateInlineInsertWithIdentifiedPrimaryKeyFromMapping()
        {
            // Setup
            var statementBuilder = new SqlDbStatementBuilder();
            var queryBuilder     = new QueryBuilder <TestCreateInlineInsertWithIdentifiedPrimaryKeyFromMappingClass>();
            var fields           = Field.From(new[] { "Field2", "Field3" });

            // Act
            var actual   = statementBuilder.CreateInlineInsert(queryBuilder, fields);
            var expected = $"" +
                           $"INSERT INTO [ClassName] " +
                           $"( [Field2], [Field3] ) " +
                           $"VALUES " +
                           $"( @Field2, @Field3 ) ; " +
                           $"SELECT @ClassNameId AS [Result] ;";

            // Assert
            Assert.AreEqual(expected, actual);
        }
Пример #4
0
        public void TestCreateInlineInsertOverrideIgnoreFromInlineInsertOperation()
        {
            // Setup
            var statementBuilder = new SqlDbStatementBuilder();
            var queryBuilder     = new QueryBuilder <TestCreateInlineInsertOverrideIgnoreFromInlineInsertOperationClass>();
            var fields           = Field.From(new[] { "Field2", "Field3" });

            // Act
            var actual   = statementBuilder.CreateInlineInsert(queryBuilder, fields, true);
            var expected = $"" +
                           $"INSERT INTO [ClassName] " +
                           $"( [Field2], [Field3] ) " +
                           $"VALUES " +
                           $"( @Field2, @Field3 ) ; " +
                           $"SELECT NULL AS [Result] ;";

            // Assert
            Assert.AreEqual(expected, actual);
        }
Пример #5
0
        public void TestWithPrimaryIdentity()
        {
            // Setup
            var statementBuilder = new SqlDbStatementBuilder();
            var queryBuilder     = new QueryBuilder <TestWithPrimaryIdentityClass>();
            var fields           = Field.From(new[] { "Field1", "Field2", "Field3" });

            // Act
            var actual   = statementBuilder.CreateInlineInsert(queryBuilder, fields, false);
            var expected = $"" +
                           $"INSERT INTO [TestWithPrimaryIdentityClass] " +
                           $"( [Field2], [Field3] ) " +
                           $"VALUES " +
                           $"( @Field2, @Field3 ) ; " +
                           $"SELECT SCOPE_IDENTITY() AS [Result] ;";

            // Assert
            Assert.AreEqual(expected, actual);
        }