Look into the standard patterns for overriding Equals. Resharper's "generate equality members" is a decent place to start. Also, make sure that GetHashCode is overridden whenever Equals is overridden.