несколько уникальных ключей в Nibernate
-
27-09-2019 - |
Вопрос
Мне нужны ограничения, созданные следующим образом:
CONSTRAINT [IX_Unique_1] UNIQUE NONCLUSTERED
(
[Ordering] ASC,
[Description] ASC
),
CONSTRAINT [IX_Unique_2] UNIQUE NONCLUSTERED
(
[Description] ASC
)
У меня есть следующее отображение Nibernate:
<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" />
Так как я могу добавить отдельное уникальное ограничение только для столбца описания?
Решение
Если вы не заботитесь о именах индекса в базе данных, вы можете сопоставить это так:
<property
name="Description"
column="Description"
type="String"
unique-key="Description, Ordering_Description" />
<property
name="Ordering"
column="Ordering"
type="Int32"
unique-key="Ordering_Description" />
Вы можете предоставить запятую список имен индекса. Все столбцы, имеющие то же имя в списке, добавляются к тому же индексу.
Другие советы
Использовать <database-object>
создать дополнительные индексы.
Не связан с StackOverflow