0
我想創建一個與EF 6的MYSQL數據庫的遷移,並運行到引發MYSQL異常的問題,通知該表未找到。從我看到的問題來自遷移有dbo的事實。在報表上添加前綴。手動更改遷移文件並刪除dbo。部分作品。EF6遷移失敗
這裏的一個奇怪的事情是,錯誤只發生在存在第二次遷移時,並且在檢查第一個遷移文件後,我注意到它也有一個dbo。前綴,但仍然可以正確創建數據庫,並且只有在數據庫正在遷移到第二個版本時纔會拋出異常。
創建數據庫時沒有dbo。即使在dbo時也可以在表或任何其他數據庫部分添加前綴。前綴存在於初始創建遷移中,所以它讓我懷疑是否必須有一部分代碼來處理它?
遷移代碼:
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
在這裏,我能夠運行數據庫更新,但降級失敗後。
請顯示您的模型,映射和完全例外。 – Kamo