2017-12-27 8 views
1

私はすべてのデータベースエンティティにGUIDを使用しているので、クラスタ化インデックスを扱うことはお勧めしません。 モデルビルダーを傍受して、主キーにクラスタード・インデックスを作成しないようEFコア2に指示する方法はありますか?モデル全体からクラスタ化インデックスを無効にする

+0

通常、クラスタ化インデックスを持つことが最善です。主キーと同じである必要はありません。 –

+0

@Damien_The_Unbelieverに同意しますが、すべてのプライマリキーのクラスタードインデックスを無効にする必要があります。その後、SQL Serverを支援するために単に「ダム」クラスタードインデックス列を追加します。 – Alexandre

答えて

1

現在、このような設定/オプション制御はありません。このような場合には通常どおり、エンティティタイプを反復してPKリレーショナル(またはこの場合はSqlServer)属性を変更するOnModelCreatingの最後にループを挿入できます(

foreach (var entityType in modelBuilder.Model.GetEntityTypes()) 
{ 
    var key = entityType.FindPrimaryKey(); 
    key.SqlServer().IsClustered = false; 
} 
関連する問題