diff --git a/build/NuSpecs/UmbracoCms.Web.nuspec b/build/NuSpecs/UmbracoCms.Web.nuspec
index 7199f414b1..969ac5be3d 100644
--- a/build/NuSpecs/UmbracoCms.Web.nuspec
+++ b/build/NuSpecs/UmbracoCms.Web.nuspec
@@ -25,7 +25,7 @@
not want this to happen as the alpha of the next major is, really, the next major already.
-->
-
+
diff --git a/src/Umbraco.Infrastructure/Models/Property.cs b/src/Umbraco.Infrastructure/Models/Property.cs
index 36efbad404..89875811bd 100644
--- a/src/Umbraco.Infrastructure/Models/Property.cs
+++ b/src/Umbraco.Infrastructure/Models/Property.cs
@@ -98,7 +98,7 @@ namespace Umbraco.Core.Models
///
/// Represents a property value.
///
- public class PropertyValue : IPropertyValue
+ public class PropertyValue : IPropertyValue, IEquatable
{
// TODO: Either we allow change tracking at this class level, or we add some special change tracking collections to the Property
// class to deal with change tracking which variants have changed
@@ -143,6 +143,27 @@ namespace Umbraco.Core.Models
///
public IPropertyValue Clone()
=> new PropertyValue { _culture = _culture, _segment = _segment, PublishedValue = PublishedValue, EditedValue = EditedValue };
+
+
+ public override bool Equals(object obj)
+ {
+ return Equals(obj as PropertyValue);
+ }
+
+ public bool Equals(PropertyValue other)
+ {
+ return other != null &&
+ _culture == other._culture &&
+ _segment == other._segment;
+ }
+
+ public override int GetHashCode()
+ {
+ var hashCode = -1254204277;
+ hashCode = hashCode * -1521134295 + EqualityComparer.Default.GetHashCode(_culture);
+ hashCode = hashCode * -1521134295 + EqualityComparer.Default.GetHashCode(_segment);
+ return hashCode;
+ }
}
private static readonly DelegateEqualityComparer