禁用整个模型中的聚簇索引

时间:2017-12-27 13:07:11

标签: c# entity-framework-core

我正在为所有数据库实体使用GUID,因此,建议不要使用聚簇索引。 如何拦截模型构建器以指示EF Core 2不在主键上创建任何聚簇索引?

1 个答案:

答案 0 :(得分:1)

目前没有这样的设置/选项控制。因此,在这种情况下,您可以在OnModelCreating的末尾放置一个循环(以确保发现所有实体类型),它循环实体类型并修改其PK关系(或在本例中为SqlServer)属性:

foreach (var entityType in modelBuilder.Model.GetEntityTypes())
{
    var key = entityType.FindPrimaryKey();
    key.SqlServer().IsClustered = false;
}