Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# EF6迁移失败_C#_Mysql_Entity Framework - Fatal编程技术网

C# EF6迁移失败

C# EF6迁移失败,c#,mysql,entity-framework,C#,Mysql,Entity Framework,我试图使用EF 6为MYSQL数据库创建迁移,但遇到了一个问题,在这个问题中抛出了MYSQL异常,通知找不到表。在我看来,问题来自迁移有dbo这一事实。语句的前缀。手动更改迁移文件并删除dbo。部分工作 奇怪的是,只有在存在第二次迁移时才会发生错误,在检查第一次迁移文件后,我注意到它也有一个dbo。前缀但仍然正确创建数据库,并且只有在数据库迁移到第二个版本时才会引发异常 创建数据库时,没有dbo。表或任何其他数据库部分上的前缀,即使在dbo时也是如此。前缀存在于初始的create迁移中,所以我想

我试图使用EF 6为MYSQL数据库创建迁移,但遇到了一个问题,在这个问题中抛出了MYSQL异常,通知找不到表。在我看来,问题来自迁移有dbo这一事实。语句的前缀。手动更改迁移文件并删除dbo。部分工作

奇怪的是,只有在存在第二次迁移时才会发生错误,在检查第一次迁移文件后,我注意到它也有一个dbo。前缀但仍然正确创建数据库,并且只有在数据库迁移到第二个版本时才会引发异常

创建数据库时,没有dbo。表或任何其他数据库部分上的前缀,即使在dbo时也是如此。前缀存在于初始的create迁移中,所以我想知道一定有代码的某个部分负责它

迁移代码:

public partial class Update1 : DbMigration
{
    public override void Up()
    {
        AddColumn("dbo.ProductOrderLine", "SomeData_Id", c => c.Int());
        CreateIndex("dbo.ProductOrderLine", "SomeData_Id");
        AddForeignKey("dbo.ProductOrderLine", "SomeData_Id", "dbo.User", "UserId");
    }

    public override void Down()
    {
        DropForeignKey("dbo.ProductOrderLine", "SomeData_Id", "dbo.User");
        DropIndex("dbo.ProductOrderLine", new[] { "SomeData_Id" });
        DropColumn("dbo.ProductOrderLine", "SomeData_Id");
    }
}
降级时出现异常,有趣的是升级成功了

Reverting migrations: [201508280829293_Update1].
Reverting explicit migration: 201508280829293_Update1.
alter table `dbo.ProductOrderLine` drop foreign key `FK_dbo.ProductOrderLine_dbo.User_SomeData_Id`
MySql.Data.MySqlClient.MySqlException (0x80004005): Table '_gizmo_db.dbo.productorderline' doesn't exist

在这里,我可以运行数据库更新,但在降级失败后。

好的,问题似乎是我没有将MySqlMigrationCodeGenerator设置为迁移代码生成器,这导致生成dbo前缀,从而导致删除/创建问题。

请显示您的模型、映射和完全异常。