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



考虑以下类层次结构:

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)

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

提前谢谢。

试试这个:

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

最新更新