如何在Entity Framework迁移代码中执行GO语句

时间:2013-08-29 13:13:48

标签: entity-framework entity-framework-5

当我们尝试从我们的产品创建新数据库时,会给出镜像中的错误和错误。我们在导致错误的迁移中使用GO语句。以下是错误:

System.Data.SqlClient.SqlException(0x80131904):找不到存储过程'GO'

以下是创建的迁移类:

namespace One234C.SRC.DomainModel.ORMapping.Migrations
{
    using System;
    using System.Data.Entity.Migrations;

    public partial class AdditionOfBatchCostedFlagColumn : DbMigration
    {
        public override void Up()
        {
            AddColumn("Service.ServiceOrderComponentDetails", "BatchCostedFlag", c => c.Byte(nullable: true));
            Sql("GO");
            string queryStr ="UPDATE [Service].ServiceOrderComponentDetails " +
                              "SET BatchCostedFlag = 1";
            Sql(queryStr);
            AlterColumn("Service.ServiceOrderComponentDetails", "BatchCostedFlag", c => c.Byte(nullable: false, defaultValue:0));
        }

        public override void Down()
        {
            DropColumn("Service.ServiceOrderComponentDetails", "BatchCostedFlag");
        }

    }
}

无论如何都不使用EntityFramework中的go语句来执行此操作。

1 个答案:

答案 0 :(得分:0)

请参阅http://technet.microsoft.com/en-us/library/ms188037.aspx

GO不是Transact-SQL语句;它是sqlcmd和osql实用程序以及SQL Server Management Studio代码编辑器识别的命令。