Entity Framework Кластерный индекс "многие ко многим" и некластеризованный индекс - PullRequest
8 голосов
/ 25 августа 2010

Я разработал модель данных сущностей с двумя сущностями, между которыми существует связь между многими.Когда я автоматически генерирую код SQL для создания базы данных для этой модели, он генерирует таблицу (два столбца) для отслеживания этой связи «многие ко многим».Однако эта таблица имеет ПЕРВИЧНЫЙ КЛЮЧ, НЕКЛЮЧЕННЫЙ в обоих столбцах.

Поскольку я хочу, чтобы это работало в SQL Azure, который не любит таблицы только с некластерными индексами, мне было интересно, есть ли хороший способ сказатьгенерация кода для генерации кластерных индексов?Спасибо!

1 Ответ

3 голосов
/ 03 октября 2011

У меня есть другой файл с именем Model.indexes.sql, который содержит сценарии для создания дополнительных индексов, помимо базовых, генерируемых EF, например, для оптимизации производительности.

Хотя это не идеально, я добавил к этому удаление индекса и создал для каждой ассоциации EF преобразование некластеризованных индексов в индексированные:

ALTER TABLE [dbo]. [MyAssociation] DROP CONSTRAINT [PK_MyAssociation] ИДТИ ALTER TABLE [dbo]. [MyAssociation] ADD CONSTRAINT [PK_MyAssociation] ПЕРВИЧНЫЙ КЛЮЧ КЛАСТЕРНЫЙ ([Table1_Id], [Table2_Id] ASC); GO

Это выполняется после каждого «Создать базу данных из модели ...». Я хотел бы более элегантное решение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...