我有一个具有主键和2个外键的类。外国组合必须是唯一的。我没有看到这样做的方法(至少因为不推荐使用SetAttribute)。
詹姆斯用SetAttribute触及了这个: How to create a Multi-Column Index or Unique Constraint with NHibernate
答案 0 :(得分:19)
这可能对其他人有用,唯一约束的FNH映射就像这样完成:
mapping.References<FirstClass>(x => x.FirstClass).UniqueKey("unique123");
mapping.References<SecondClass>(x => x.SecondClass).UniqueKey("unique123");
此外,它解释了这只在db中构建约束,但开发人员负责拦截重复的插入尝试,否则将抛出SqlException
,说违反了UNIQUE KEY约束。