Question

Avec la classe simple entité suivante, Code-First EF4.1 créera index cluster pour la colonne PK UserId lorsque la base de données initialisation de.

    public class User
    {
        [Key]
        public int UserId { get; set; }
        public int AppId  { get; set; }
        public string UserName { get; set; }
    }

Pour des raisons de performance, mes objectifs de conception est de maintenir le physique en cluster table Users généré selon le coulmn de AppId pas au PK.

Sur ma classe Initializer j'ai essayé de déposer manuellement l'index ordonné en clusters PK autogénérés et créer tout index ordonné en clusters j'ai besoin, mais pas la moindre idée ici de prédire le nom autogénérés PK__Users__25518C17 pour l'index!

Je suis nouveau au Code mondial d'abord, et ne sais vraiment pas s'il y a une solution de contournement pour mes objectifs de conception.

Merci à l'avance

Était-ce utile?

La solution

Vous n'avez pas besoin de prédire le nom d'index généré automatique. Il vous suffit de sélectionner le nom de l'index. Pour le serveur SQL que vous pouvez utiliser comme requête:

SELECT I.Name
FROM sys.indexes AS I
INNER JOIN sys.tables AS T ON
    I.object_Id = T.object_Id
WHERE I.is_primary_key = 1 
    AND T.Name = 'Users'

Une fois que vous obtenez le nom de votre commande initialiseur vous pouvez modifier ancien index et créer un nouveau.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top