5

如果我使用 Internet 应用程序项目模板(使用表单身份验证)创建一个新的 MVC4 Web 应用程序,那么当我第一次运行它并单击注册时,对 context.Database.Exists 的调用(在 InitializeSimpleMembershipAttribute 过滤器中)正确检测到数据库文件不存在,并调用 ObjectContext.CreateDatabase,在 App_Data 文件夹中创建 dbf 和 ldf 文件。

如果我随后删除 dbf 和 ldf 文件并再次运行应用程序,则对 context.Database.Exists 的调用将返回 true,尽管事实上数据库文件已消失。这种行为似乎是持久的:一旦 ObjectContext.CreateDatabase 被调用,一些魔法似乎会记住数据库“存在”,即使物理文件已经消失,即使我重新启动 PC。

好的,所以我假设 SQL Server 中的某些东西正在记住数据库的存在。所以我已经安装并运行了 SQL Server Management Studio。但是,\SQLEXPRESS 节点下的 Databases 文件夹下唯一出现的是 System Databases 文件夹。我看不到我的数据库文件连接的迹象。

这是怎么回事?为什么 context.Database.Exist 返回 true,如果数据库文件消失了,我如何说服它返回 false?为什么我在 SQL Server Management Studio 中看不到数据库连接的一些证据?

鲍勃

4

1 回答 1

4

您可以通过从 LocalDb 实例中删除数据库来删除它。使用 SQL Managment Studio 连接到“(LocalDb)\v11.0”。

于 2012-11-19T21:36:39.730 回答