2011-10-24 4 views
0

VS 2010でMVC Webアプリケーションを作成するように求められ、データ用にSQL Expressデータベースを使用するよう指示されました。私は自分のデータを作成し管理するためにEF Code-Firstを使用しています。データベースはVS2010で作成され、web.configの "AttachDBFilename"を介して添付されています。添付されたSQL Express DBが問題を引き起こしています

MVCで問題なくSQL CEを使用しましたが、SQL Express DBが奇妙な問題を引き起こしています。

私はアプリをデプロイしようとすると失敗し、別のプロセスで使用されているためdatabase.mdfをコピーできないことを伝えます。私はVS2010でもSSMSでもデータベースをオープンしていません。もちろん、プログラムコードはそれにアクセスします - 接続が開いたままになる何らかの理由はありますか?私は足場からの定型コードを使用しています。

私は、ProjectInitializer.csを使用してサンプルデータを作成することに言及する必要があります。私はかなりのテストをしているので、一瞬の打ち上げごとに実行されます。

私が持っているもう1つの問題は、データベースを削除すると、それを再作成できないということです。それは私のWindowsアカウントは、作成しようとしている(今存在していない)データベースへのアクセス権を持っていないと言います。私は文字通り、新しい名前で新しいデータベースを作成しなければなりません。以前に(そのDB名で)作成されたものはすべて失敗します。

何らかの残存情報がどこかに残っていると想定していますが、それは何か分かりません。私はVS 2010のファイルへのすべての接続を閉じ、ファイルを削除しました。これは、VS2010とapp_dataディレクトリに表示されている物理ファイルの両方で検出されました。

ご意見やご提案があれば幸いです。

+0

ここに私の接続紐です。おしゃべり<インスタンス名> = True;初期カタログ= Projekt; MultipleActiveResultSets = true "providerName =" System = "ProjectContext" connectionString = "データソース=。\ SQLEXPRESS; AttachDBFilename = | DataDirectory | Projekt.mdf; .Data.SqlClient "/> –

答えて

1

Webサーバー(Cassini、IIS、IIS Express)をシャットダウンしてから、もう一度試してください。 Webプロセスが引き続きファイルを参照している場合、ファイルはロックされたままになります。さらに、ロードされたEFコンテキストはdb名を保持します。ビジュアルスタジオブラウザがまだトレイ内で実行されていないことを確認します。

関連する問題