1

MVC4プロジェクトのconnectionStringに問題があります。

プロジェクトは次のように構成されています。

Solution
   -MVC4-web app project
   -Custom DBContext project
   -Portable Area project (MvcContrib)

ストレージにオンラインのAzureデータベースを使用しており、すべてのモデルがカスタムデータベースコンテキストにあります。プロジェクトはfindをコンパイルし、MvcContribをMVC4およびRazorビューエンジンで動作させることもできます。

Azureで新しいDBを作成した後、DBContextプロジェクトでupdate-databaseを実行しようとします。次のエラーが発生します。

"...データベースからプロバイダー情報を取得中にエラーが発生しました。これは、Entity Frameworkが誤った接続文字列を使用していることが原因である可能性があります。...プロバイダー:SQLネットワークインターフェイス、エラー:26-指定されたサーバー/インスタンスの検索エラー... 「」

私のconnectionStringは、DbContextプロジェクトのApp.Configファイルにあります。

<connectionStrings>
   <add name="CortexModelContext" providerName="System.Data.SqlClient" connectionString="Server=tcp:k5bqinuyr5.database.windows.net,1433;Database=databaseName;User ID=myname@k5bqinuyr5;Password=MySecretPassword;Trusted_Connection=False;Encrypt=True;Connection Timeout=30;" />
</connectionStrings>

私は何が間違っているのですか?パスワードと接続文字列をduodecupleで確認しました。これは、windowsazure.comのポータルからのコピーアンドペーストです。ここで他に何が間違っている可能性がありますか?この問題を解決するためにあらゆることを試みたような気がします。

この投稿に欠けている情報が他にある場合は、教えてください。提供します。

4

2 に答える 2

3

別のプロジェクトにコンテキストがある場合、Update-Databaseコマンドは正しく機能しない傾向があります。おそらく、MVC 4プロジェクトのweb.configファイルにも接続文字列がありますか?

その場合は、次のコマンドを使用します。

Update-Database -ProjectName <DbContextProject> -StartupProjectName <MvcProject>

プレースホルダーを関連するプロジェクトの名前に置き換えます。それでうまくいくはずです。

乾杯、ディーン

于 2012-07-30T19:41:45.420 に答える
0

ここでの問題は、すべてのプロジェクトに接続文字列がないことでした。現在DbContextプロジェクトのApp.configにのみ存在する接続文字列をweb.configスタートアッププロジェクトのに追加すると、すべてが機能しました。

それを理解するために一日を使わなかったのは良いことか何か。

于 2012-07-30T20:35:41.553 に答える