EF6.1.3&MySql.Data.Entity 6.9.6&MySQL Server 5.6でマイグレーションを追加したところ、実行時に
MySql.Data.MySqlClient.MySqlException was unhandled HResult=-2147467259 Message=Table 'myschema.dbo.mydatafield' doesn't exist Source=MySql.Data ErrorCode=-2147467259 Number=1146
といったエラーが出る。どうやらマイグレーション用コードに'dbo.'が入っているとダメな処理があるようです。
public partial class ChangeMyClassStructure : DbMigration { public override void Up() { DropForeignKey("dbo.MyTable", "MyTable2_Id", "dbo.MyTable");手編集で'dbo.'を削除すると、動作しました。
DropForeignKey("MyTable", "MyTable2_Id", "MyTable");
CreateTableなど作成系は'dbo.'が入っていてもうまくやってくれるようですが、少なくとも以下の削除系・変更系はダメな時がある模様(問題無しの時もあって、よく分からんのです、これが)。MySql.Data.Entityの問題かな?
- DropForeignKey
- DropIndex
- DropColumn
- RenameTable
ここ の話だと、EF5からdbo.が付くようになったようで。
[参照]
Comments