public override bool Equals(object obj) { if (obj.GetType() != typeof(MultipleSets)) { return(false); } var target = obj as MultipleSets; return(Id == target.Id && SimpleClasses.EnumerableEquals(target.SimpleClasses) && StringSet.EnumerableEquals(target.StringSet) && IntegerSet.EnumerableEquals(target.IntegerSet) && DoubleSet.EnumerableEquals(target.DoubleSet) && DateSet.EnumerableEquals(target.DateSet)); }