2012-02-01 58 views
0

我有一个类NHibernate。记录的唯一

abstract class Entity<T> where T : Entity<T> 
{ 
    public virtual Guid ID { get; private set; } 
} 

我所有的实体都继承它。如果employee实体不可能拥有两名拥有相同passport-sn的员工以及其他身份特定的文档。

我该如何禁止两名员工以不同的surrogate keyspassport number加入数据库?

映射中是否有任何约束?

谢谢!

回答

1

,你可以,如果你正在使用流利的添加唯一约束护照

mapping.Id(employee => employee.Id); 
mapping.Map(employee => employee.passport).Unique(); 

在您的域名,如果所有的实体从实体继承了所有的人都会使用一个代理键让你有以处理任何其他限制

+0

好的。据我了解普通的'xml'映射会得到相同的结果。所以我应该把一个属性的约束。谢谢! – lexeme 2012-02-01 14:04:30