考虑以下类层次结构:
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");