【发布时间】:2012-08-20 13:27:17
【问题描述】:
我正在使用 EF 5 的 VS 2012 RTM。我正在执行 Code First,但由于我刚刚处于开发阶段,因此试图忽略代码迁移。为了避免他们,我有这个设置
Database.SetInitializer(new DropCreateDatabaseIfModelChanges<SomeContext>());
有时,即使我认为我没有接触过模型,它也会决定重新创建。没关系。但通常会导致错误
无法删除数据库,因为它当前正在使用中。
所以我决定完全删除数据库。我进入 VS,进入“SQL Server 对象资源管理器”,找到数据库并将其删除。现在我被困在了
无法将文件“{0}”附加为数据库“{1}”
我昨晚发生了这种情况,我只是摆弄直到它起作用(关闭任务,重新启动 VS,更改 web.config 中的数据库和文件名等。
所以问题 1)我如何摆脱这种状态?
但更重要的问题是,我该如何防止自己进入这种状态?
【问题讨论】:
-
为什么不使用自动迁移?您可以随时更改数据库初始化方法,甚至从部署到生产时的配置。
-
This 列出了我不想使用自动迁移的几个原因。此外,它只能让你到目前为止,直到你需要开始使用基于代码的迁移。
-
我也遇到了同样的问题你找到解决办法了吗?
标签: ef-code-first asp.net-mvc-4 entity-framework-5 localdb