我有一个班级
abstract class Entity<T> where T : Entity<T>
{
public virtual Guid ID { get; private set; }
}
我的所有实体都是从它继承的。在employee
实体的情况下,不可能有两名员工拥有相同的passport-sn和其他身份特定文档。
如果我不允许将两名具有不同surrogate keys
和相同passport number
的员工放入数据库?
映射中是否存在约束?
谢谢!
答案 0 :(得分:1)
您可以添加护照的唯一约束
如果您使用的是Fluent:
mapping.Id( employee => employee.Id);
mapping.Map(employee => employee.passport ).Unique();
在您的域中,如果所有实体都从Entity继承,则所有实体都将使用代理键,因此您必须处理任何其他约束