我正在关注this guide说明使用 Entity Framework 核心的代码优先方法。迁移一直正常运行,直到我在某个时候删除了 .mdf 文件。从那时起,执行 Update-Database
(以应用我的迁移)会引发以下错误:
数据库“DatabaseName”已存在。选择不同的数据库名称。
这个数据库到底在哪里?如何永久删除它?
根据this回答,我需要将我的数据库与 Sql Server 分离,但我现在不知道该怎么做。在 Sql Server Management studio 中,如果我执行 sp_detach_db DatabaseName
它会抛出错误数据库“DatabaseName”不存在。提供有效的数据库名称。
提前致谢。
更新
我发现如果我在 SQL Server Management Studio 中附加了数据库,我也可以重现此数据库已存在
错误,并执行 Update-Database
命令。关闭 Management Studio 后,迁移应用,不会出现此错误。让我很困惑。
最佳答案
似乎 LocalDB 的实例仍在后台运行。在控制台执行以下命令停止并删除实例。
sqllocaldb stop
sqllocaldb delete
Update-Database 命令现在应该没有问题了。
关于asp.net-core - 数据库 '[DatabaseName]' 已存在。选择不同的数据库名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38393907/