Entity Framework 6.1 & MySQLでマイグレーションが失敗する

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

ここLink の話だと、EF5からdbo.が付くようになったようで。

[参照]

— posted by mu at 05:01 pm   commentComment [0]  pingTrackBack [0]

T: Y: ALL: Online:
ThemeSwitch
  • Basic
Created in 0.0089 sec.
prev
2015.5
next
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31