如何使用实体框架代码首次迁移删除唯一索引

时间:2013-05-31 16:52:50

标签: entity-framework indexing entity-framework-5

我正在使用Entity Framework 5.0并启用了Code First迁移。

我使用以下方法添加了唯一键:

CreateIndex("dbo.Groups", "Name", true);

现在我想使用下一个迁移的Down()方法删除现有的Unique键:

DropIndex("dbo.Groups", "Name");

但是我收到了消息:

无法删除索引'dbo.Groups.Name',因为它不存在或您没有权限。

我正在使用连接字符串,假设我是DBO。还有什么可能是错的?

2 个答案:

答案 0 :(得分:7)

还有另一个答案:

DropIndex("dbo.Groups", new[]{"Name"});

DropIndex的重载,它接受列名,但它需要一个数组。因此,对于单个列名称,您仍然必须将其包装在数组中以获得重载。

答案 1 :(得分:6)

好的,我自己解决了这个问题:)

显然我误用了DropIndex的语法。我假设它采用列的名称,而是采用索引的名称。这很有效:

DropIndex("dbo.Groups", "IX_Name");

:)

2013年与自己说话!