3

Webアプリケーションでエンティティフレームワークを使用していません。以前はすべてが正常に機能していました。しかし、その後、SQLServerからデータベースを削除しました。その後、アプリケーションを実行するたびに、次の例外が発生します。

The underlying provider failed on open entity framework  

SQL Serverからデータベースを削除してアプリケーションを再度実行すると、データベースが再度作成されるというのは本当ではありませんか?

4

3 に答える 3

3

エンティティフレームワークは、アプリケーションの開始時にデータベースを再作成します。

  • SQLでデータベースを作成する権限があります
  • 接続文字列が正しく指定されている(これが正常に機能する前に機能していた場合)
  • データベースにCodeFirstまたはModelFirst戦略を使用しています(つまり、既存のデータベースからEDMXを生成した場合、それは再作成されません)
于 2012-08-03T10:28:33.643 に答える
3

接続文字列の詳細を教えてください。基本的に、使用している認証を確認したいと思います。一般的な認証を設定するためのデモ:http://msdn.microsoft.com/en-us/library/ff649314.aspx

別の可能性は、接続プールである可能性があります。接続を明示的に閉じてみてください(開いている接続がある場合)

db.Database.Connection.Close();
于 2012-08-03T10:44:22.180 に答える
0

同様のエラーが発生しましたが、これは接続の問題が原因でした。通常、エンティティ(EDML)の下にある* .EDPSファイルを開き、接続文字列をチェックして、特にデフォルトのOracleホームが正しく設定されていることを確認する必要があります。

于 2013-02-08T17:18:50.577 に答える