代码之家  ›  专栏  ›  技术社区  ›  H77

NHibernate中的多个唯一键

  •  3
  • H77  · 技术社区  · 14 年前

    我需要以以下方式创建约束:

    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 回复  |  直到 13 年前
        1
  •  4
  •   Stefan Steinegger    13 年前

    如果您不关心数据库中的索引名,可以这样映射它:

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

    您可以提供索引名称的逗号分隔列表。列表中具有相同名称的所有列都将添加到同一索引中。

        2
  •  2
  •   Diego Mijelshon    14 年前

    使用 <database-object> 创建其他索引。

    5.6. Auxiliary Database Objects