每个类层次表对于鉴别器和子类属性的唯一约束

时间:2012-01-18 12:19:34

标签: nhibernate fluent-nhibernate

考虑以下类层次结构:

public abstract class Animal {}

public class Dog : Animal
{
    public int DogTagNumber { get; set; }
}

public class Cat : Animal
{
    public int CatTagNumber { get; set; }
}

注意:DogTagNumber和CatTagNumber特意放在子类中,而不是作为Animal类中的TagNumber,以演示对每个子类显式的属性。

问题: 使用Fluent NHibernate,是否可以将类鉴别器的唯一约束与子类的显式属性一起映射,如下所示:

唯一(“DOG”,DogTagNumber)和唯一(“CAT”,CatTagNumber)

目的是确保每只狗和猫在数据库级别表中的鉴别器方面的独特性。

提前致谢。

1 个答案:

答案 0 :(得分:0)

尝试this一个:

   Map(x => x.Something).UniqueKey("KeyName");
   DiscriminateSubClassesOnColumn("discr_column").UniqueKey("KeyName");