我应该覆盖使用自然键和NHibernate的代理键的相等方法吗?

时间:2016-09-13 09:04:12

标签: c# .net nhibernate equality

在这些问题中详细介绍了在NHibernate实体类上实现EqualsGetHashCode的通用最佳实践:

这些generic implementation可以在基本实体类上完成,以便它始终使用代理ID - 它可以处理各种场景,例如代理和实体实体。

但是,我有某些实体也有一个非常明智的商业密钥。

我应该将这些实体中的等式方法覆盖为如下所示吗?

public override bool Equals(object other)
{
    // Identity equality or business key equality
    return base.Equals(other) || BusinessKey.Equals(other.BusinessKey);
}

0 个答案:

没有答案