20

私は EF4.3 の移行について学んでおり、ado.net チームのブログから次の 2 つの記事を読みました。

http://blogs.msdn.com/b/adonet/archive/2012/02/09/ef-4-3-code-based-migrations-walkthrough.aspx

http://blogs.msdn.com/b/adonet/archive/2012/02/09/ef-4-3-automatic-migrations-walkthrough.aspx

しかし、この 2 つの記事を読んだ後でも、それらの違いは何か、コードベースの移行をいつ使用するか、自動移行をいつ使用するかはまだ明確ではありません。誰でも私を導くことができますか?

ありがとう!

4

2 に答える 2

22

これらの記事は非常に明確であるため、違いを理解していない場合は、テキストを読んでいるときに集中していなかったことを意味し、おそらく自分で例をコーディングしてテキストに従っていなかった.

自動移行は単なる魔法のツールです。アプリケーションを実行すると、常に最新バージョンのデータベースを取得できます。これは、EF が必要になるたびに暗黙的な移行を行うためです。最も純粋なバージョンでは、自動移行を有効にする以外に何もする必要はありません。

自動移行では不十分な場合があります。移行コードにカスタマイズを追加するか、データを変換するなどの追加の SQL コマンドを実行する必要があります。このような場合、Add-Migrationコマンドを呼び出して明示的なコード ベースの移行を追加します。明示的な移行では、移行中に実行されるすべての移行コードが表示されます (追加の魔法はありません)。

自動移行をオフにする場合は、明確に定義された明示的な手順でデータベースのアップグレード プロセスを定義するために、常に明示的な移行を定義する必要があります。これは、特定のバージョンへのアップグレードとダウングレードの両方を使用する必要があるシナリオで特に役立ちます。

于 2012-05-30T09:04:34.653 に答える