/// <summary>
 /// Gets the hash code
 /// </summary>
 /// <returns>Hash code</returns>
 public override int GetHashCode()
 {
     unchecked // Overflow is fine, just wrap
     {
         var hashCode = 41;
         // Suitable nullity checks etc, of course :)
         if (Id != null)
         {
             hashCode = hashCode * 59 + Id.GetHashCode();
         }
         if (StringField != null)
         {
             hashCode = hashCode * 59 + StringField.GetHashCode();
         }
         if (RelationIdField != null)
         {
             hashCode = hashCode * 59 + RelationIdField.GetHashCode();
         }
         if (DictionaryField != null)
         {
             hashCode = hashCode * 59 + DictionaryField.GetHashCode();
         }
         if (IntegerField != null)
         {
             hashCode = hashCode * 59 + IntegerField.GetHashCode();
         }
         if (DoubleField != null)
         {
             hashCode = hashCode * 59 + DoubleField.GetHashCode();
         }
         if (DateField != null)
         {
             hashCode = hashCode * 59 + DateField.GetHashCode();
         }
         if (ExampleType != null)
         {
             hashCode = hashCode * 59 + ExampleType.GetHashCode();
         }
         if (ExampleStatus != null)
         {
             hashCode = hashCode * 59 + ExampleStatus.GetHashCode();
         }
         return(hashCode);
     }
 }