public void Inverse_should_produce_drop_table_operation()
        {
            var createProcedureOperation
                = new AlterProcedureOperation("Foo", "Bar");

            Assert.IsType <NotSupportedOperation>(createProcedureOperation.Inverse);
        }
        public void Inverse_should_produce_drop_table_operation()
        {
            var createProcedureOperation
                = new AlterProcedureOperation("Foo", "Bar");

            Assert.IsType<NotSupportedOperation>(createProcedureOperation.Inverse);
        }
Esempio n. 3
0
        public void Generate_can_output_alter_procedure_operations()
        {
            var alterProcedureOperation
                = new AlterProcedureOperation("Foo", "SELECT ShinyHead\r\nFROM Pilkingtons");

            alterProcedureOperation.Parameters.Add(
                new ParameterModel(PrimitiveTypeKind.String)
                {
                    Name = "P'",
                    DefaultValue = "Bar",
                    IsOutParameter = true
                });

            var codeGenerator = new CSharpMigrationCodeGenerator();

            var generatedMigration
                = codeGenerator.Generate(
                    "Migration",
                    new MigrationOperation[]
                        {
                            alterProcedureOperation
                        },
                    "Source",
                    "Target",
                    "Foo",
                    "Bar");

            Assert.Equal(
                @"namespace Foo
{
    using System;
    using System.Data.Entity.Migrations;
    
    public partial class Bar : DbMigration
    {
        public override void Up()
        {
            AlterStoredProcedure(
                ""Foo"",
                p => new
                    {
                        P = p.String(name: ""P'"", defaultValue: ""Bar"", outParameter: true),
                    },
                body:
                    @""SELECT ShinyHead
                      FROM Pilkingtons""
            );
            
        }
        
        public override void Down()
        {
            throw new NotSupportedException(""" + Strings.ScaffoldSprocInDownNotSupported + @""");
        }
    }
}
",
                generatedMigration.UserCode);
        }
        public void Generate_can_output_alter_procedure_operations()
        {
            var alterProcedureOperation
                = new AlterProcedureOperation("Foo", "SELECT ShinyHead\r\nFROM Pilkingtons");

            alterProcedureOperation.Parameters.Add(
                new ParameterModel(PrimitiveTypeKind.String)
                {
                    Name = "P'",
                    DefaultValue = "Bar",
                    IsOutParameter = true
                });

            var codeGenerator = new VisualBasicMigrationCodeGenerator();

            var generatedMigration
                = codeGenerator.Generate(
                    "Migration",
                    new MigrationOperation[]
                        {
                            alterProcedureOperation
                        },
                    "Source",
                    "Target",
                    "Foo",
                    "Bar");

            Assert.Equal(
                @"Imports System
Imports System.Data.Entity.Migrations
Imports Microsoft.VisualBasic

Namespace Foo
    Public Partial Class Bar
        Inherits DbMigration
    
        Public Overrides Sub Up()
            AlterStoredProcedure(
                ""Foo"",
                Function(p) New With
                    {
                        .P = p.String(name := ""P'"", defaultValue := ""Bar"", outParameter := True)
                    },
                body :=
                    ""SELECT ShinyHead"" & vbCrLf & _
                    ""FROM Pilkingtons""
            )
            
        End Sub
        
        Public Overrides Sub Down()
            Throw New NotSupportedException(""" + Strings.ScaffoldSprocInDownNotSupported + @""")
        End Sub
    End Class
End Namespace
",
                generatedMigration.UserCode);
        }
        public void Can_add_and_enumerate_parameters()
        {
            var createProcedureOperation = new AlterProcedureOperation("Foo", "Bar");

            createProcedureOperation.Parameters.Add(
                new ParameterModel(PrimitiveTypeKind.Int64)
            {
                Name = "Bar"
            });

            Assert.NotNull(createProcedureOperation.Parameters.Single());
        }
        public void Can_add_and_enumerate_parameters()
        {
            var createProcedureOperation = new AlterProcedureOperation("Foo", "Bar");

            createProcedureOperation.Parameters.Add(
                new ParameterModel(PrimitiveTypeKind.Int64)
                    {
                        Name = "Bar"
                    });

            Assert.NotNull(createProcedureOperation.Parameters.Single());
        }
 protected virtual IEnumerable<MigrationStatement> Generate(AlterProcedureOperation operation)
 {
     return Generate(operation, "ALTER");
 }
        /// <summary>Generates code to perform a <see cref="T:System.Data.Entity.Migrations.Model.AlterProcedureOperation" />.</summary>
        /// <param name="alterProcedureOperation">The operation to generate code for.</param>
        /// <param name="writer">Text writer to add the generated code to.</param>
        protected virtual void Generate(AlterProcedureOperation alterProcedureOperation, IndentedTextWriter writer)
        {
            Check.NotNull(alterProcedureOperation, "alterProcedureOperation");
            Check.NotNull(writer, "writer");

            Generate(alterProcedureOperation, "AlterStoredProcedure", writer);
        }
        /// <summary>
        /// Generates the specified alter procedure operation.
        /// </summary>
        /// <param name="alterProcedureOperation">The alter procedure operation.</param>
        protected virtual void Generate(AlterProcedureOperation alterProcedureOperation)
        {
            Check.NotNull(alterProcedureOperation, "alterProcedureOperation");

            Generate(alterProcedureOperation, "ALTER");
        }
 /// <summary>
 ///     Generates the specified alter procedure operation.
 /// </summary>
 /// <param name="alterProcedureOperation">The alter procedure operation.</param>
 protected virtual void Generate(AlterProcedureOperation alterProcedureOperation)
 {
 }