1

我首先使用 EF5 和代码来创建数据库。我有一个字符串字段,想在上面放 Index(non-unique)。是否可以使用数据注释创建索引?

4

2 回答 2

2

EF 没有创建索引的特殊方法,您需要恢复为旧式 SQL 语句。

你可以使用种子方法来做到这一点

protected override void Seed(EntityMappingContext context)
{
    context.Database.ExecuteSqlCommand("CREATE INDEX IX_NAME ON TABLE (COLUMN)");
}

如此处所述:向表添加索引

于 2013-02-14T09:32:51.600 回答
0

如果您正在使用代码迁移,您可以修改迁移('Up' 方法)以将索引添加到新表: CreateTable("dbo.tablename", c => {...}) .PrimaryKey(t = > t.PrimaryKeyColumn) .Index(t => t.IndexColumn);

...或者,如果要向现有表添加索引,请使用: CreateIndex("dbo.tablename", t => t.IndexColumn)

降级数据库时不要忘记删除索引('Down'方法) DropIndex(...)

于 2013-05-01T16:48:42.927 回答