首先使用实体框架代码以编程方式设置SQL索引的最佳实践是什么

首先使用实体框架代码以编程方式设置SQL索引的最佳实践是什么,sql,entity-framework,indexing,ef-code-first,Sql,Entity Framework,Indexing,Ef Code First,我正在使用Asp.Net MVC 3,Entity Framework 4.1,我想知道是否有任何有用的方法可以通过编程在我的模型中的某些列上设置SQL索引。您可以设置 public class MyInitializer : CreateDatabaseIfNotExists<MyDbContext> { protected override void Seed(MyDbContext context) { //your logic here

我正在使用Asp.Net MVC 3,Entity Framework 4.1,我想知道是否有任何有用的方法可以通过编程在我的模型中的某些列上设置SQL索引。

您可以设置

public class MyInitializer : CreateDatabaseIfNotExists<MyDbContext>
{
    protected override void Seed(MyDbContext context)
    {
        //your logic here
        context.Database.ExecuteSqlCommand("CREATE INDEX IX_Products_Code ON dbo.Products ( Code )");

    }
}
公共类MyInitializer:CreateDatabaseIfNotExists
{
受保护的覆盖无效种子(MyDbContext上下文)
{
//你的逻辑在这里
context.Database.ExecuteSqlCommand(“在dbo.Products(代码)上创建索引IX_Products_代码”);
}
}
然后可以在启动时设置初始值设定项

Database.SetInitializer<ProductCatalog>(new MyInitializer());
Database.SetInitializer(新的MyInitializer());

这不完全是我所希望的,但效果很好。非常感谢。如果没有其他人能提供更好的解决方案,我会将你的答案设置为接受。