.NET 例外「Cannot drop database. ’データベース名’ because it is currently in use」

ASP.NET MVC5のお勉強中です。
サンプルに従って順次実行していってるのですが、

デバッグ実行して、ローカルDBからデータをViewに表示する
↓
デバッグ停止
↓
サーバーエクスプローラーでDBの内容を確認する。
↓
再度デバッグ実行して、Viewを表示すると例外が発生して表示できません。

例外の内容は
Cannot drop database. ’データベース名’ because it is currently in use
データベースが使用中で削除できないとのことです。

サーバーエクスプローラーでDBの内容を確認すると
データベースに接続中になり、アイコンが緑のコンセントマークになります。

データベースを右クリックメニューから「切断」して実行すると、アイコンが×に変わります。

データベースを切断してから実行すると、例外が出ずに実行できました。

サンプルでは
DropCreateDatabaseAlwaysやDropCreateDatebaseIfModelChangesを使用してデータベースに初期データを作成しているので、
データベースに接続したままだと、データベースが削除できないヨと怒られたんですね。

3 件のコメント:

Unknown さんのコメント...

まったく同じ所でつまずいていたので助かりました。
おそらく同じ教本ですねw

Unknown さんのコメント...

私も全く同じところでつまずいていたので、同じ教本かもしれませんね笑
ありがとうございました!

taka さんのコメント...

私も同じところでエラーが出て、検索してこちらのページにたどり着きました。
データベースを切断しても解消できなかたので、App_Data フォルダの mdf ファイルを削除して解決しました!