【问题标题】:What is the best practice to programmatically set SQL indexes with Entity-Framework-Code-First使用 Entity-Framework-Code-First 以编程方式设置 SQL 索引的最佳实践是什么
【发布时间】:2011-07-25 22:14:38
【问题描述】:

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

【问题讨论】:

    标签: sql entity-framework indexing ef-code-first


    【解决方案1】:

    您可以设置Database Initializer 来创建索引

    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 )");
    
        }
    }
    

    然后你可以在启动时设置初始化器

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

    【讨论】:

    • 这不是我所希望的,但效果很好。谢谢你。如果没有其他人提供更好的解决方案,我会将您的答案设置为已接受。
    猜你喜欢
    • 1970-01-01
    • 2013-11-03
    • 1970-01-01
    • 2016-05-10
    • 2011-08-20
    • 2015-01-06
    • 2011-03-04
    • 1970-01-01
    相关资源
    最近更新 更多