2013-02-14 65 views

回答

2

EF沒有特殊的方法來創建索引,您需要恢復到舊式的SQL語句。

可以使用種子的方法來做到這一點

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

如下所述:Adding index to a table

+0

您可以通過使用自定義初始化程序或通過使用遷移來完成相同 – 2013-02-14 09:59:36

0

如果你使用的代碼遷移,你可以修改遷移(「向上」的方法)來添加一個索引到一個新的表: CREATETABLE( 「dbo.tablename」, C => {...}) .PrimaryKey(T => t.PrimaryKeyColumn) 的.index(T => t.IndexColumn);

...或者,如果您要添加一個索引到現有表,使用: 的CreateIndex( 「dbo.tablename」,T => t.IndexColumn)

不要忘記刪除索引降低數據庫(「降低」方法) DropIndex(...)