我首先使用 EF5 和代码来创建数据库。我有一个字符串字段,想在上面放 Index(non-unique)。是否可以使用数据注释创建索引?
问问题
1081 次
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 回答