asp.net-core - 数据库 '[DatabaseName]' 已存在。选择不同的数据库名称

标签 asp.net-core entity-framework-core sql-server-2016

我正在关注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/

相关文章:

asp.net-core - 为 2 个 kestrel 服务器找到 2 个不同的免费端口

authentication - 如何为 JWT token 生命周期验证添加额外检查?

javascript - 在 React js 上下载文件作为字节数组传递

c# - SQLite EF 核心 - 'FOREIGN KEY constraint failed'

sql - 如何判断sql表是否是Temporal表?

sql-server - "AT TIME ZONE"用于 SQL Server 2014 或更早版本的 SQL Server

c# - 没有注册名为 'Default'的IUserTwoFactorTokenProvider。问题是两(2)个ASP.NET Core Identity注册中的AddDefaultTokenProviders()

sql-server - 脚手架-DbContext "Login Failed" "Error Number:4060,State:1,Class:11"

c# - 使用 Entity Framework 的 ASP.NET MVC Core 项目中的种子角色

c# - NHibernate HQL Generator 支持 SQL Server 2016 时态表