2010-08-25 6 views
8

Diseñé un modelo de datos de entidad con dos entidades entre las que existe una relación de muchos a muchos. Cuando genero código SQL automáticamente para generar la base de datos para este modelo, ha generado una tabla (dos columnas) para realizar un seguimiento de esta asociación de muchos a muchos. Sin embargo, esta tabla tiene una CLAVE PRIMARIA NO CLASIFICADA en ambas columnas.Marco de Entidad Marco de muchos a muchos, clúster frente a índice no agrupado

Como quiero que esto funcione en SQL Azure que no le gustan las tablas con solo índices no agrupados, me preguntaba si hay una buena manera de decirle a la generación de código que genere índices agrupados. ¡Gracias!

+0

¿Has intentado darle una clave sustituta? – Nix

+0

Estoy en el mismo barco. Me doy cuenta de que esta es una vieja pregunta, pero no parece haber sido respondida. Azure aún no admite claves no agrupadas que genera EF. – Allan

Respuesta

3

Tengo otro archivo llamado Model.indexes.sql que contiene scripts para crear índices adicionales más allá de los básicos que genera EF, como los de optimizaciones de rendimiento.

Aunque esto no es ideal, I agregados en esta caída de un índice y crear para cada asociación EF para convertir los índices no agrupado en indexadas queridos:.

ALTER TABLE [dbo] [MyAssociation] DROP CONSTRAINT [PK_MyAssociation] IR ALTER TABLE [dbo] [MyAssociation] ADD CONSTRAINT [PK_MyAssociation] KEY principal agrupada ([Table1_Id], [Table2_Id] ASC).; GO

Esto se ejecuta después de cada "Generar base de datos del modelo ...". Me encantaría una solución más elegante.

Cuestiones relacionadas