public override int GetHashCode() { unchecked { int result = base.GetHashCode(); result = (result * 397) ^ EmailAddresses.GetCollectionHashCode(); result = (result * 397) ^ PhoneNumbers.GetCollectionHashCode(); result = (result * 397) ^ Gender.GetHashCode(); result = (result * 397) ^ (DateOfBirth.HasValue ? DateOfBirth.Value.GetHashCode() : 0); result = (result * 397) ^ (Address != null ? Address.GetHashCode() : 0); result = (result * 397) ^ (PhotoId.HasValue ? PhotoId.Value.GetHashCode() : 0); result = (result * 397) ^ (VisibilitySettings != null ? VisibilitySettings.GetHashCode() : 0); result = (result * 397) ^ EthnicStatus.GetHashCode(); result = (result * 397) ^ (AffiliateId.HasValue ? AffiliateId.Value.GetHashCode() : 0); return(result); } }