public override int GetHashCode() { unchecked { var hashCode = (int)AssocDays; hashCode = (hashCode * 397) ^ (AssocLocationSuffix != null ? AssocLocationSuffix.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (AssocTrainUid != null ? AssocTrainUid.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (int)AssocType; hashCode = (hashCode * 397) ^ (BaseLocationSuffix != null ? BaseLocationSuffix.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (int)Category; hashCode = (hashCode * 397) ^ DateFrom.GetHashCode(); hashCode = (hashCode * 397) ^ (int)DateIndicator; hashCode = (hashCode * 397) ^ DateTo.GetHashCode(); hashCode = (hashCode * 397) ^ (DiagramType != null ? DiagramType.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (Location != null ? Location.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (MainTrainUid != null ? MainTrainUid.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (int)RecordIdentity; hashCode = (hashCode * 397) ^ (int)StpIndicator; return(hashCode); } }