4

非常に単純な MVC5 Web アプリ (VS 2013 RC) を Azure Web サイトにデプロイしました。[Web の発行] ダイアログで [コードの最初の移行を実行] をチェックするまでは機能していました。現在、サイトにアクセスすると内部サーバー エラーが発生します。[Web の発行] ダイアログで [コードの最初の移行を実行] チェック ボックスをオフにすると、Web アプリは期待どおりに動作します。問題のトラブルシューティングの過程で、ローカル マシンから Azure でホストされているデータベースに直接接続し、Enable-Migrations コマンドと Update-Database コマンドを実行しましたが、それが必要かどうかはわかりませんでした。

このチェック ボックスの目的と、自動コード ファースト マイグレーションを Azure で有効にする方法を知っていますか?

4

2 に答える 2

0

私はちょうど同じ問題を抱えていました。Nuget経由でEntity Frameworkをクラスライブラリに追加したが、Webプロジェクトには追加しなかったことが原因であることが判明しました。これはローカルで機能しましたが、Azure に発行したときに説明した症状が発生しました。

于 2014-11-22T15:27:14.667 に答える
0

先週、コード ファースト マイグレーションを有効にして、それ以前に機能していたサイトを再公開したときに、同様の問題に直面しました。これを示すためにSEEMEDを観察したこと:

これをオンにすると、サイトが最初に実行を開始したときに、コード ファーストの移行が実行されます。私には新しく作成されたテーブルの「テーブルの作成」があったので、そのコードを実行しました。残念ながら、私は SQL Server 2012 を使用して既存のデータベースを Azure に公開しており、そのテーブルにはデータが含まれていました。そのため、コードの最初の移行により、そのテーブルが削除され、再作成されました。

それが起こっていたことが100%確信できるわけではありませんが、そうだと信じています。主な理由は、SQL Server Management Studio にアクセスして Azure 上のテーブルのデータを見たときに、サイトを起動した後に空だったからです。

確認するために、サイトを再公開し、データベース テーブルにデータがあることを確認しました。サイトを実行すると、消えました。

必然的に、そのボックスのチェックを外して、サイトとデータベースを再公開しました. 私がそれをしたら、データはそこにあり、サイトはまだ機能していました.

于 2013-11-11T14:20:19.217 に答える