【发布时间】:2011-11-23 22:26:03
【问题描述】:
我有一个使用 Entity Framework Code First 的小型 MVC 3 应用程序,并将此连接字符串用于模型:
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
(通过附加'2'更改了Database=参数)
Journal.mdf 已创建,应用程序再次运行。如果我进行了一些更改并尝试再次“回收”任何数据库名称,我会收到“无法打开”错误。
为什么每次更改模型时都需要提供唯一的数据库名称,如何“清除”以前的名称?
【问题讨论】:
-
删除数据库后是否重启应用?
-
@StriplingWarrior:是的,我是。再次启动应用程序时出现错误。
标签: entity-framework-4 ef-code-first