0

MVC4 EF5 コード ファースト アプリケーションを Azure にデプロイしようとしています。公開後、サイトで次のエラーが表示されます。

エラー。リクエストの処理中にエラーが発生しました。

データベースにテーブルが作成されていないためだと思いますか?

私の接続文字列:

Data Source=tcp:6666666.database.windows.net,1433;Initial Catalog=eatart_db;User Id=kasperskov@6666666;Password=yourmother

構成で自動移行を有効にしており、展開時に実行しています:

internal sealed class Configuration : DbMigrationsConfiguration<EatArt.Models.EatArtDb>
{
        public Configuration()
        {
            AutomaticMigrationsEnabled = true;
        }
}

私のApplication_Start(global.asax)では:

Database.SetInitializer(new DropCreateDatabaseIfModelChanges<EatArtDb>());

また。この通知は、私の Azure ポータルに表示されます。

メトリックの取得中にサーバーでエラーが発生しました。操作を再試行してください。

ここで何が欠けていますか?私は何か間違ったことをしていますか?

4

2 に答える 2

0

EFでも同様の問題がありました。私のアプローチは、マイグレーションの使用から離れ、DropCreateDatabaseIfModelChangesマイグレーションの使用に切り替えることでした。これは、コード ファーストの移行に関する有用な記事です。

DropCreate行を次のように変更します。

Database.SetInitializer(new MigrateDatabaseToLatestVersion<EatArtDb, Configuration>());

自動移行は既に有効にしていますが、初期化子で使用していません。

于 2013-01-11T20:49:47.743 に答える
0

Ben Tidman が提案したように、パッケージ マネージャー コンソールで Update-Database コマンドを Azure データベースに対して実行しました。これによりテーブルが作成され、ページのビューをすぐにデプロイできました。

Ps。もちろん、接続文字列に追加する必要がTrusted_Connection=falseありました..encrypt=true

于 2013-01-14T15:39:33.333 に答える