問題タブ [entity-framework-migrations]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
6789 参照

entity-framework-4.3 - EF4.3コードファースト移行で保留中の移行を無視するようにする

最近を使用して作成したデータベースのローカルインスタンスがあるDbContext.Database.Create()ため、現在のコードに一致__MigrationHistoryするエントリを含むテーブルが存在します。InitalCreate

ただし、一部のコードベースの移行はMigrationsフォルダーに存在します。これらは、開発環境とステージング環境で実行され、これらのデータベースをコードと一致させます。ただし、現在のコードを使用してデータベースを作成したので、ローカルに適用する必要はありません。

モデルに変更を加え、対応する移行を作成する必要があります。しかし、実行するAdd-Migration TestMigrationと、次のエラーが発生します

この場合はどうすればよいですか?バージョンがローカルにあるものと一致することが保証されていないため、Add-Migrationツールを別の環境に向けることはできません。行った変更のみに一致する移行が必要です。

私にはいくつかの選択肢があるようですが、どれも理想的ではありません。

  1. Migrationsフォルダーから他の移行を削除し、Add-Migrationコマンドを実行し、データベースをアップグレードしてから、古い移行を復元します。これは単純ですが、少しハックなようです。
  2. 最初の移行が適用されたソース管理のモデルのバージョンに戻し、これをビルドしてデータベースを作成します。次に、最新バージョンを入手し、すべての移行を適用します。これで、移行を追加する準備が整いました。これは大変な努力のようです!
  3. 移行を手動で作成します。

誰かがこれを管理する方法について何か提案がありますか?

0 投票する
5 に答える
14351 参照

entity-framework - パッケージ マネージャー ウィンドウで実行されたコードからのコンソールまたはデバッグ出力はどこにありますか?

最初に移行で EntityFramework コードを使用しています。パッケージ マネージャー コンソールから、「update-database」を実行しています。これにより、オーバーライドした Configuration.Seed(context) が実行されます。

その出力はどこにありますか?

さらに良いことに、パッケージ マネージャー ウィンドウに出力するにはどうすればよいですか?

Thx、ダン

0 投票する
3 に答える
528 参照

entity-framework - Entity Framework 4.3 の移行と中程度の信頼

EF の新しい移行機能を使用したいのですが、web.config ファイルに "trust level=Medium" を追加して中程度の信頼環境をシミュレートすると、ローカル コンピューターで次のセキュリティ例外が発生します。

EF 移行は完全信頼でのみ機能しますか?

0 投票する
1 に答える
3169 参照

c# - EF 4.3 移行で一連の SQL スクリプトを実行するにはどうすればよいですか?

メソッドで次のようなことをしようとしていますSeed:

Update-Database を実行すると、次のエラーが表示されます。

したがって、明らかに更新データベースは、プロジェクト ディレクトリではなく、VS bin ディレクトリから実行されています。プロジェクトへのパスをハード コーディングする必要がなく (複数の開発者がこれに取り組んでいます)、どうすれば ? を含むアセンブリのパスを取得できますDbContextか?

0 投票する
1 に答える
12274 参照

c# - EntityFrameworkがテーブルを作成していません

私はしばらくの間EFを使用してきましたが、常にモデルファーストのアプローチで使用しています。今、私はコードファーストの土地を冒険しています。問題は、自動テーブル作成で問題が発生していることです。

いくつかのサイトによると、それは可能です。そして、私は彼らのアプローチを試みましたが、成功しませんでした。

これが私が試したことの1つです:Database.CreateIfNotExists()

運がない...

私の接続文字列は完璧で機能しています。テーブルを手動で追加すると、機能します。問題は、テーブルを作成していない場合です。私が言ったようにそれは作成されません。

私のクラスは正しく装飾されています。(繰り返しますが、DBを作成すると機能します)

助言がありますか?この機能は本当に機能しますか?

私が使用しているもの:

Visual Studio 2010 Professional

EntityFramework 4.3.1(4.1でも試しましたが)

SQL Server 2008 R2

前もって感謝します。

0 投票する
1 に答える
6598 参照

entity-framework - EF 移行が 0 コールに移行すると、最初の作成が停止します

初期の移行作成で down メソッドを呼び出すように、移行を空のデータベースに戻す構文を理解しようとしています。これに似た移行で Down メソッドを呼び出すための適切な構文を知っている人はいますか?

0 投票する
0 に答える
896 参照

entity-framework-4.3 - Entity Frameworkコードファースト-移行テーブルを削除しますか?

EF Migrations(V 4.1)の前は、エンティティの新しいプロパティ/列などを作成したい場合、開発マシンで非常に簡単に「チート」できました。

データベースにその列を作成し、そのプロパティをエンティティに追加します。これは機能し、データベースを再作成する必要はありませんでした。

同じ「チート」はV4.3では機能しなくなりました。V 4.3でこれをどうにかして行うことはできますか?たとえば、移行テーブルを削除したり、他のトリックを実行したりできますか?厳密には、迅速な開発プロセスのためですか?

Thx Eau

0 投票する
2 に答える
2147 参照

c# - EF4.3コードファーストマイグレーションで列を並べ替える

ここで両方のウォークスルーを読んでください:

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

SQLデータテーブルの列の順序を指定する方法が見つかりませんでした。最後に追加されたプロパティは常に最後の列にマップされているようです。

例:

列の順序でテーブルを作成します。

Id | Data2 | データ3

次のようにクラスを更新します。

次にupdateを実行すると、テーブルが次のように更新されます。

Id | Data2 | データ3| データ1

移行を使用するときに列の順序を指定する方法があるかどうかは誰にもわかりませんか?

0 投票する
1 に答える
6474 参照

entity-framework-4 - 初期エンティティ フレームワーク移行スクリプトの取得

Entity Framework Migrations をインストールし、クラスにプロパティを追加して、EF Migrations を試してみました。

私の開発データベースはすぐに更新されました。ここまでは順調ですね。

ここで、本番データベースの移行を最初に使用するための変更スクリプトを作成したいと思います。これを既存のプロジェクトに適用したため、既存のデータベースがあったことに注意してください。

私が持っている移行は次のとおりです。

次を使用してデルタスクリプトを取得できると思いました。

しかし、それは私にエラーを与えます:

「201204102238194_Au​​tomaticMigration」は有効な移行ではありません。ソースとターゲット間のアップグレードをスクリプト化する場合は、明示的な移行をソースとターゲットの両方で使用する必要があります。

何が起こるかを確認するために、2 つのパラメーターを逆にして (後方移行)、- forceフラグを追加した後に期待するスクリプトを取得しました(新しい列が削除されました)。

この最初の移行のスクリプトを取得するにはどうすればよいですか?