[Serializable()] public abstract class BaseObject
For a discussion of the implementation of Equals/GetHashCode, see http://devlicio.us/blogs/billy_mccafferty/archive/2007/04/25/using-equals-gethashcode-effectively.aspx and http://groups.google.com/group/sharp-architecture/browse_thread/thread/f76d1678e68e3ece?hl=en for an in depth and conclusive resolution.
[Serializable()] public abstract class BaseObject
System.Object
CommerceBuilder.DomainModel.BaseObject
CommerceBuilder.DomainModel.CompositeKeyType
CommerceBuilder.DomainModel.EntityWithTypedId<IdT>
CommerceBuilder.DomainModel.ValueObject