Add-Migration
で初期移行を作成しました。空のDBにUpdate-Database
を実行すると、__MigrationHistoryテーブルにエントリを追加するなど、すべてのテーブルが作成されます。Entity Framework 4.3.1は常にUpdate-Databaseですべての移行を実行します
は今、私はちょうどテストするために、再びUpdate-Database
を実行し、私はこれを取得「変更は検出されません」の代わりに:
PM> Update-Database -Verbose -Project testProject.Web
Using StartUp project 'testProject.Web'.
Target database is: 'testProject_dbo' (DataSource: localhost, Provider: Devart.Data.MySql, Origin: Explicit).
Applying explicit migrations: [201203151243164_Start].
Applying explicit migration: 201203151243164_Start.
CREATE TABLE attachments (
...table data...
)
Table 'attachments' already exists
Table 'attachments' already exists
更新が現在のDBの状態を認識していないように思え。唯一の解決策は、すべてのテーブルを削除して更新することです。それ以上の移行を追加しても機能します。
ご覧のとおり、別のデータベースプロバイダ(Devart.Data.Mysql)を使用していますが、問題があるかどうかはわかりません。たぶん私は何かが些細な行方不明ですか?
これがデフォルトプロバイダのSQL Serverでも発生する場合は、検証できますか? –
はい、\ SQLEXPRESSに接続するデフォルトのプロバイダで動作します。データベースを作成し、再度実行したとき:明示的な移行が保留されていません。 – ciscoheat
このような場合は、さらに調査するためにDevartサポートに連絡してください。 –