NHibernate.记录唯一性
本文关键字:唯一性 记录 NHibernate | 更新日期: 2023-09-27 18:22:02
我有一个类
abstract class Entity<T> where T : Entity<T>
{
public virtual Guid ID { get; private set; }
}
我的所有实体都是从中继承的。在employee
实体的情况下,不可能有两个员工拥有相同的护照sn和其他特定身份的文件。
为什么我不允许将具有不同surrogate keys
和相同passport number
的两名员工放入数据库?
映射中有任何约束吗?
谢谢!
您可以为护照添加唯一约束
如果您正在使用Fluent:
mapping.Id( employee => employee.Id);
mapping.Map(employee => employee.passport ).Unique();
在您的域中,如果所有实体都继承自Entity,则所有实体都将使用代理密钥,因此您必须处理任何其他约束