1

私は現在のプロジェクトで非常にイライラする問題を抱えています。エンティティ モデルの接続文字列バインディングが継続的に失われています。

別々の領域にあるさまざまなデータベースの複数のモデルがあり、問題はありませんでした。突然、データベースから更新しようとすると、接続文字列のセットアップ プロンプトが表示されます。パスワードを使用して Web.config に追加することを選択しましたが、そこから再び取得されることはありません。それらはすべてまだ Web 構成にありますが、表示されません。

構成ファイルからすべての接続文字列を削除すると、新しいものがそこに書き込まれます。次に、ストアド プロシージャ/関数のインポートを設定しようとすると、下のボックスに次のステートメントが表示されます。

No database connection has been configured for this model.

プロジェクトを再構築して、モデルを最初から作成し直しましたが、しばらくはうまくいきました。プロジェクトを Perforce ソース管理下に持ち込もうとすると、再破損して接続文字列が消えてしまいます。それは私のすべてのモデルにも影響します。

また、EF 4.x DbContext Generator を使用してコンテキスト ファイルを作成しています。彼らは正常に動作します。アプリケーションを実行することもでき、データベースに問題なく接続してデータを返します。そこに問題はありません。DB から Entity Complex タイプを更新したり、ストアド プロシージャをインポートしたりすることができません。

さらに奇妙な出来事は、壊れたプロジェクトを別のディレクトリから開き、壊れていないコピーを開いたところ、すぐに壊れてしまったことです。伝染性!

なぜこれが起こっているのかを調べるためにどこを調べるべきかについて何か考えはありますか? 他の誰かがこの問題を抱えていますか?

4

1 に答える 1

0

問題がどこから来ているのかを見つけたようです。

問題の原因となる web.config のどこかに悪い値があるようです。これは私が見つけた回避策であり、それが構成であることを示しています:

  • バインドが壊れたら、プロジェクトを閉じてから、web.config を、いくつかのキーが欠落しているが、バインドするのに十分に機能する適切なビルドの 1 つと交換しました。
  • ソリューションを再度開くと、「データベース接続がありません...」というエラーが消えます。
  • 次に、ソリューションがまだ開いている間に web.config を再度スワップしても、引き続き機能します。

これは最適とは言えませんが、いくつかの比較を行って悪い値を突き止めるまで作業できます。

正確な問題を特定したら、これについて再度コメントします。

于 2012-11-01T20:26:06.317 に答える