私はこのチュートリアルに従っています!すべてがうまく機能し、ブログ名はコンソールに表示されるため、データベースから保存および取得されます (仮定)。それでも、ローカルdbに作成されたデータベースも、マシン上のsql Expressも見つかりません。コード ファースト アプローチで作成されたデータベースの場所を見つける方法。
2 に答える
which を使用して接続文字列を取得すると、使用しctx.Database.Connection.ConnectionString
ているデータベースがわかります。
私はここで非常によく似た問題を抱えていました。接続文字列は .\SQLEXPRESS と生成された初期カタログ名に設定されていましたが、SSMS を使用して .\SQLEXPRESS に接続しても何も表示されませんでした。
VS 2010 で IntelliTrace を使用すると、ADO.NET コマンドを確認できました。Autos グリッドでは、SQL コマンドと次の接続文字列が表示されました: Data Source=(localdb)\v11.0;AttachDbFilename=|DataDirectory |(my_context_name_here).mdf. 次に、サーバー エクスプローラーを使用して (localdb) に接続し、データを表示します。
この問題は、コンテキストが DbContext から派生したために発生しましたが、base(connectionStringName) コンストラクター (MVC4 テンプレートに付属する UsersContext のように) を使用していませんでした。それを変更すると、.\SQLEXPRESS にデータベースが表示されます。