Question

I need constraints created in the following manner:

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

I have the following nHibernate mapping:

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

So how can I add a separate unique constraint just for the Description column?

Was it helpful?

Solution

If you don't care about the index names in the database, you can map it like this:

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

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

you can provide a comma separated list of index names. All columns which have the same name in the list are added to the same index.

OTHER TIPS

Use <database-object> to create additional indexes.

5.6. Auxiliary Database Objects

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top