Mic*_*ich 7 indexing entity-framework ef-code-first sql-server-2012 entity-framework-6
有没有办法使用Entity Framework Code First Migrations在MS SQL Server数据库中创建索引,如果索引必须是:
它必须产生这样的东西:
CREATE NONCLUSTERED INDEX [IX_IndexName] ON [dbo].[TableName]
(
    [Column1] ASC,
    [Column2] DESC
)
INCLUDE ([Column3], [Column4])
我发现了一篇关于这个主题的文章,但它提供了一个非常麻烦的解决方案.可能,自撰写文章以来,某些方面有所改进.
我也知道能够使我的迁移执行任意SQL代码,但我真的希望能够使用某种版本的CreateIndex方法来完成所有脏工作,而不是自己编写SQL代码.
我刚刚遇到了同样的问题,目前看来它不是迁移 API 的一部分。我的解决方法是执行向上迁移的sql并使用DropIndex方法进行向下迁移。
public override void Up()
{
    Sql("CREATE NONCLUSTERED INDEX IX_IndexName ON TableName ([Column1], [Column2] DESC) INCLUDE ([Column3], [Column4])");
}
public override void Down()
{
    DropIndex("TableName", "IX_IndexName");
}
它并不漂亮,可以整理成可重用的方法/扩展等,但它可以完成工作。
| 归档时间: | 
 | 
| 查看次数: | 2294 次 | 
| 最近记录: |