Beispiel #1
0
        public void MergeWithDeleteKey()
        {
            var target = new GenerateSqlService();
            var actual = target.Generate <ClassC>(SqlScriptType.MergeWithDeleteKey);

            var expected = @"MERGE [dbo].[ClassC] [t]
USING @ClassC [s]
ON [t].[Guid] = [s].[Guid]
WHEN MATCHED
    THEN
    UPDATE
    SET [t].[ParentGuid] = [s].[ParentGuid],
        [t].[Name] = [s].[Name],
        [t].[Age] = [s].[Age],
        [t].[DataStatusId] = [s].[DataStatusId]
WHEN NOT MATCHED BY TARGET
    THEN
    INSERT ([Guid],
            [ParentGuid],
            [Name],
            [Age],
            [DataStatusId])
    VALUES ([s].[Guid],
            [s].[ParentGuid],
            [s].[Name],
            [s].[Age],
            [s].[DataStatusId])
WHEN NOT MATCHED BY SOURCE 
    AND [t].[ParentGuid] = @DeleteParentGuid
    THEN
    DELETE;";

            Assert.AreEqual(expected, actual);
        }
Beispiel #2
0
        public void Case01()
        {
            var target = new GenerateSqlService();
            var actual = target.Generate <ClassA>(SqlScriptType.Delete);

            var expected = @"DELETE [dbo].[ClassA]
WHERE Id = @Id;";

            Assert.AreEqual(expected, actual);
        }
        public void Case01()
        {
            var target = new GenerateSqlService();
            var actual = target.Generate <ClassA>(SqlScriptType.Insert);

            var expected = @"INSERT INTO [dbo].[ClassA] (Id, Name, Age)
VALUES (@Id, @Name, @Age);";

            Assert.AreEqual(expected, actual);
        }
Beispiel #4
0
        public void Case01()
        {
            var target = new GenerateSqlService();
            var actual = target.Generate <ClassA>(SqlScriptType.Select);

            var expected = @"SELECT Id, Name, Age
FROM [dbo].[ClassA];";

            Assert.AreEqual(expected, actual);
        }
Beispiel #5
0
        public void Case01()
        {
            var target = new GenerateSqlService();
            var actual = target.Generate <ClassA>(SqlScriptType.Update);

            var expected = @"UPDATE [dbo].[ClassA]
SET Name = @Name, Age = @Age
WHERE Id = @Id;";

            Assert.AreEqual(expected, actual);
        }