QA@IT

Entity FrameworkのコードファーストでInvalidOperationException

6283 PV

Enity FrameworkのコードファーストでSQL Serverに対し
Update-databaseコマンドを行った際に下記のようなエラーが出ます。

System.InvalidOperationException: This operation requires a connection to the 'master' database. Unable to create a connection to the 'master' database because the original database connection has been opened and credentials have been removed from the connection string. Supply an unopened connection.

Entity Frameworkのバージョンは6.0.0、SQL Serverは2008 R2で
接続文字列内にIDとパスワードを埋め込んで接続しています。
Entityの書き込み先はmasterではなく別のデータベースを作成して、
接続文字列のInitial Catalog=にそのデータベース名を指定しています。

接続文字列自体は正しく、その接続文字列でDBに接続できることを確認済みです。

どなたか判る方おられましたらご教示ください。

回答

いくつか考えられる状況がありますが、
一番多いパターンとしては接続文字列に以下が無い場合に追加してみてください。

Trusted_Connection=False;Persist Security Info=True

それでダメな場合、もしEF power toolsが入っているなら、接続のプロパティから [Code First のリバース エンジニアリング] を選択してパスワードの保存にチェックをつけると改善する場合もあるようです。

編集 履歴 (0)
ウォッチ

この質問への回答やコメントをメールでお知らせします。