несколько уникальных ключей в nhibernate - PullRequest
3 голосов
/ 28 октября 2010

Мне нужны ограничения, созданные следующим образом:

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

У меня есть следующее отображение nHibernate:

<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" />

Так как я могу добавить отдельное уникальное ограничение только для столбца Описание?

Ответы [ 2 ]

4 голосов
/ 30 августа 2011

Если вас не интересуют имена индексов в базе данных, вы можете отобразить их следующим образом:

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

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

вы можете предоставить список имен индексов через запятую.Все столбцы с одинаковыми именами в списке добавляются в один и тот же индекс.

2 голосов
/ 28 октября 2010

Используйте <database-object> для создания дополнительных индексов.

5.6.Вспомогательные объекты базы данных

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