0

エンティティ フレームワークを使用して Azure データベースに接続する ASP.net - MVC アプリを作成しようとしています。

データベースを最初に使用してモデルを作成しようとしたところ、Azure データベースに接続してモデルを正常に作成できました。

すべてが完璧に機能し、Azure データベースから値を取得できたので、その Web サイトを Azure Web サイトに公開しようとしました。Web サイトは正常に動作し、Azure データベースを使用できるように Web サイトを登録しました。コントローラーにアクセスしてデータベースにアクセスするボタンをクリックすると、「申し訳ありませんが、リクエストの処理中にエラーが発生しました」というメッセージが表示されます。

これをもう少し詳しく調べたところ、ウィザードを使用してエンティティ データ モデルを作成したときに、エンティティ接続設定用のローカル データベースへの接続文字列が作成されたことがわかりました。これはエンティティ フレームワークの設定を保存していると思いますが、私の問題は明らかに、Web サイトを Azure に公開すると、このローカル データベースにアクセスできないことです。

この DB を Azure に移行する方法、またはこの余分なデータベースを使用しないようにする方法について何か提案はありますか?

ありがとう

4

2 に答える 2

1

すでに説明したように、web.configはまだローカルデータベースを指しているようです。web.configを調べて、。\ SQLExpresslocalhost \ SQLExpress"。"を指す接続文字列があるかどうかを確認してください。、..。

次に、Geenthangaの説明のように、デプロイする前にこの値を変更する必要があります(代わりにSQL Azureデータベースを指す必要があります)。ただし、これを手動で行うべきではありません。代わりに、ここで説明されているように、web.config変換の使用を検討してください:Web配置:Web.Config変換

このようにして、2つのweb.config変換ファイルを作成できます。

  • Web.Debug.config:このファイルには、ローカルデータベースを指す接続文字列を追加するための変換が含まれます。
  • Web.Release.config:このファイルには、 SQLAzureを指す接続文字列を追加するための変換が含まれます。
于 2012-09-21T11:03:30.107 に答える
1

これは、ローカル データベースを Azure に移行するための最適なツールです。サイトを公開する前に、Azure データベースを指すように web.config を変更してください。それはあなたの問題を解決します。

于 2012-09-21T10:29:13.350 に答える