An entity has identity, which implies there should only be one object (e.g. a particular customer) in memory.As such, reference equality (which is what the base version of object.equals checks for) should be the only equality we care about.A value object on the other hand would need to overrride Equals as there may be many in memory.Are there any issues with the above reasoning? I just can't imagine why I would have two customer objects representing the same customer, and in any case where I did (e.g. took a clone to do something with it), I can't think of any circumstances where I would need to check if it was equal to the orginal object.Even in a distributed environment, any client process should only contain one object for a certain customer.
Is there any reason to override Equals for an Entity?
domain driven design