我正在使用Entity Framework 5.0并启用了Code First迁移。
我使用以下方法添加了唯一键:
CreateIndex("dbo.Groups", "Name", true);
现在我想使用下一个迁移的Down()方法删除现有的Unique键:
DropIndex("dbo.Groups", "Name");
但是我收到了消息:
无法删除索引'dbo.Groups.Name',因为它不存在或您没有权限。
我正在使用连接字符串,假设我是DBO。还有什么可能是错的?
答案 0 :(得分:7)
还有另一个答案:
DropIndex("dbo.Groups", new[]{"Name"});
是 DropIndex的重载,它接受列名,但它需要一个数组。因此,对于单个列名称,您仍然必须将其包装在数组中以获得重载。
答案 1 :(得分:6)
好的,我自己解决了这个问题:)
显然我误用了DropIndex的语法。我假设它采用列的名称,而是采用索引的名称。这很有效:
DropIndex("dbo.Groups", "IX_Name");
:)
2013年与自己说话!