public override int GetHashCode() { unchecked { var hashCode = Id.GetHashCode(); hashCode = (hashCode * 397) ^ (Team1 != null ? Team1.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (Team2 != null ? Team2.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (int)GameState; hashCode = (hashCode * 397) ^ IsComplete.GetHashCode(); hashCode = (hashCode * 397) ^ (WinningTeam != null ? WinningTeam.GetHashCode() : 0); hashCode = (hashCode * 397) ^ IsSimulatedGame.GetHashCode(); hashCode = (hashCode * 397) ^ CreatedDate.GetHashCode(); return(hashCode); } }