我无法理解方法Equals()和GetHashCode()的性能。我什么时候可以使用其中一种,或者在什么条件下使用。
我似乎无法找到有关如何在NHibernate上下文中实现它们的示例。
答案 0 :(得分:-1)
因为有一个标签NHibernate,OP可能特别想要NHibernate。所以这里是持久化实体的基类,它实现了Equals()和GetHashcCode()
public abstract class Entity
{
public virtual long Id { get; protected set; }
public override bool Equals(object obj)
{
var other = obj as Entity;
return other != null && (Id == 0 ? ReferenceEquals(this, other) : Id == other.Id);
}
public override int GetHashCode()
{
return Id.GetHashCode();
}
}