8

多対多の関係が存在する 2 つのエンティティを持つエンティティ データ モデルを設計しました。このモデルのデータベースを生成するために SQL コードを自動生成すると、この多対多の関連付けを追跡するためのテーブル (2 つの列) が生成されます。ただし、このテーブルには両方の列に PRIMARY KEY NONCLUSTERED があります。

非クラスター化インデックスのみを持つテーブルを好まない SQL Azure でこれを機能させたいので、コード生成にクラスター化インデックスを生成するように指示する良い方法があるかどうか疑問に思っていましたか? ありがとう!

4

1 に答える 1

3

Model.indexes.sql という別のファイルがあります。このファイルには、パフォーマンスの最適化など、EF が生成する基本的なインデックス以外の追加のインデックスを作成するスクリプトが含まれています。

これは理想的ではありませんが、これにインデックス ドロップを追加し、EF アソシエーションごとに作成して、非クラスター化インデックスをインデックス付きインデックスに変換します。

ALTER TABLE [dbo].[MyAssociation] DROP CONSTRAINT [PK_MyAssociation] ALTER TABLE [dbo].[MyAssociation] ADD CONSTRAINT [PK_MyAssociation] PRIMARY KEY CLUSTERED ([Table1_Id], [Table2_Id] ASC); 行く

これは、「モデルからデータベースを生成...」のたびに実行されます。もっとエレガントなソリューションが欲しいです。

于 2011-10-03T19:45:34.300 に答える