【问题标题】:Specify an index fill factor using Fluent API?使用 Fluent API 指定索引填充因子?
【发布时间】:2016-03-17 18:25:05
【问题描述】:

我正在使用 Entity Framework 7 (.NET Core 1) RC1。我想在迁移中创建一些索引。这部分很简单,但我找不到任何关于如何为索引指定填充因子的示例。

上下文看起来像这样:

modelBuilder.Entity<SomeObject>( entity =>
{
    entity.HasIndex( e => e.SomeProperty ).HasName(" IX_SomeObject_SomeProperty" );
}

迁移看起来像这样:

migrationBuilder.CreateIndex(
    name: "IX_SomeObject_SomeProperty",
    schema: "dbo",
    table: "SomeObject",
    column: "SomeProperty" );

这只是 Fluent 不支持吗?我必须在迁移中手动创建索引吗?

【问题讨论】:

    标签: c# sql-server entity-framework-core ef-fluent-api


    【解决方案1】:

    很快就会在 EF Core 5.0 中得到支持。

    modelBuilder
        .Entity<Customer>()
        .HasIndex(e => e.Name)
        .HasFillFactor(90);
    

    参考:https://docs.microsoft.com/en-us/ef/core/what-is-new/ef-core-5.0/whatsnew#specify-sql-server-index-fill-factor

    【讨论】:

      【解决方案2】:

      从 EF Core RC1 开始不支持填充因子。您可以使用migrationBuilder.Sql手动编写创建索引语句。

      【讨论】:

      • 不幸的是,这正是我所怀疑的。我很喜欢 Fluent,但很难找到像样的文档,而且似乎缺乏对高级操作的支持。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多