public override bool Equals(object obj)
{
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (!this.GetType().IsAssignableFrom(obj.GetType())) {
return false;
}
BaseEntity other = (BaseEntity)obj;
if (!Id.Equals(other.Id)) {
return false;
}
return this.GetHashCode() == obj.GetHashCode();
}