From Framework Design Guidelines:
DO NOT implement value equality on mutable reference types. [p-270]
From Eric Evans's DDD:
Each ENTITY must have an operational way of establishing its identity with another object. [p-94]
Should I treat overriding Object.Equals method as identity operation or just compare the Identity attribute (e.g. customer1.Id == customer2.Id)?