我有一个小的MVC 3应用程序,使用Entity Framework Code First,并使用此连接字符串作为模型:
data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|Journal.mdf;User Instance=true;Database=MyJournal
当我对模型进行更改(例如添加属性)时,我如预期一样会得到以下信息:
“'JournalContext'上下文的模型已经自数据库创建以来发生了变化。”
因此,在开发模式下,我删除了Journal.mdf和Journal.ldf。
现在,当我再次运行应用程序时,我会得到以下信息:
“无法打开由登录请求的数据库"MyJournal"。登录失败。”
如果我将连接字符串更改为:
data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|Journal.mdf;User Instance=true;Database=MyJournal2
我把参数Database=
改成了'2'并保存。
Journal.mdf文件被创建成功,程序也恢复正常运行。如果我再次尝试重命名任何数据库名称,就会遇到“无法打开”的错误。
为什么每次更改模型都需要提供独特的数据库名称?如何“清理”以前的名称?