Question

J'ai besoin des contraintes créées de la manière suivante:

CONSTRAINT [IX_Unique_1] UNIQUE NONCLUSTERED 
(
    [Ordering] ASC,
    [Description] ASC
),
CONSTRAINT [IX_Unique_2] UNIQUE NONCLUSTERED 
(
    [Description] ASC
)

Je le mapping NHibernate suivant:

<property name="Description" column="Description" type="String" unique-key="IX_Seed_Template_Fields_Result" />

<property name="Ordering" column="Ordering" type="Int32" unique-key="IX_Seed_Template_Fields_Result" />

Alors, comment puis-je ajouter une contrainte unique séparée juste pour la colonne Description?

Était-ce utile?

La solution

Si vous ne vous souciez pas les noms d'index dans la base de données, vous pouvez mapper comme ceci:

<property 
  name="Description" 
  column="Description" 
  type="String" 
  unique-key="Description, Ordering_Description" />

<property 
  name="Ordering" 
  column="Ordering" 
  type="Int32" 
  unique-key="Ordering_Description" />

vous pouvez fournir une liste séparée par des virgules des noms d'index. Toutes les colonnes qui ont le même nom dans la liste sont ajoutés au même indice.

Autres conseils

Utilisez <database-object> pour créer des index supplémentaires.

5.6. Objets Base de données auxiliaire

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