1
私はすべてのデータベースエンティティにGUIDを使用しているので、クラスタ化インデックスを扱うことはお勧めしません。 モデルビルダーを傍受して、主キーにクラスタード・インデックスを作成しないようEFコア2に指示する方法はありますか?モデル全体からクラスタ化インデックスを無効にする
私はすべてのデータベースエンティティにGUIDを使用しているので、クラスタ化インデックスを扱うことはお勧めしません。 モデルビルダーを傍受して、主キーにクラスタード・インデックスを作成しないようEFコア2に指示する方法はありますか?モデル全体からクラスタ化インデックスを無効にする
現在、このような設定/オプション制御はありません。このような場合には通常どおり、エンティティタイプを反復してPKリレーショナル(またはこの場合はSqlServer)属性を変更するOnModelCreating
の最後にループを挿入できます(
foreach (var entityType in modelBuilder.Model.GetEntityTypes())
{
var key = entityType.FindPrimaryKey();
key.SqlServer().IsClustered = false;
}
通常、クラスタ化インデックスを持つことが最善です。主キーと同じである必要はありません。 –
@Damien_The_Unbelieverに同意しますが、すべてのプライマリキーのクラスタードインデックスを無効にする必要があります。その後、SQL Serverを支援するために単に「ダム」クラスタードインデックス列を追加します。 – Alexandre