
[英]How does Package Manager Console know which connection string to use?
[英]Package Manager Console not allowed to drop Index
我正在尝试将我的数据库更新为新的迁移,但它卡在需要删除索引的部分。 它说:无法删除索引“Player.IX_Player_OrganizationId1”,因为它不存在或您没有权限。
我正在做的是以下内容:
我打开我的 package 管理器并运行命令:add-migration [name]
然后我运行命令:更新数据库
然后继续做一些事情,尽管它卡在了命令上:
Microsoft.EntityFrameworkCore.Database.Command[20102] 执行 DbCommand 失败(2 毫秒)[Parameters=[],CommandType='Text',CommandTimeout='30'] DROP INDEX [IX_Player_OrganizationId1] ON [Player]; 无法执行 DbCommand(2 毫秒)[Parameters=[],CommandType='Text',CommandTimeout='30'] DROP INDEX [IX_Player_OrganizationId1] ON [Player]; Microsoft.Data.SqlClient.SqlException (0x80131904):无法删除索引“Player.IX_Player_OrganizationId1”,因为它不存在或您没有权限。
所以我所做的是检查索引是否存在,我在 SQL 查询中使用 sp_help player 命令执行此操作。 这表明以下内容:
index_name PK_Player Player.IX_Player_OrganizationId1
所以它确实存在,这意味着我无权删除它。 然后我运行了 SQL 查询 Drop INDEX "Player.IX_Player_OrganizationId1" on Player
哪个完成了工作,但我的数据在 web 应用程序 (ASP.NET MVC) 中没有正确显示我认为这是因为我没有使用迁移来更新它,但我不确定。 谁能帮助我确保迁移成功/授予 PM 控制台权限或确保数据在我的 ASP.NET 应用程序中显示正确。
先感谢您!
注意:使用 nuget.org package 和 Microsoft Visual Studio 离线包
我已经解决了这个问题; 我使用“indexname”手动添加了索引,它应该是 [indexname]。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.