I have a base class DomainObject
for all my business objects I am using with NHibernate. It contains the Id
property.
public abstract
i took a different aproach in a production project. I simply have a global HiLow Id-Generator which generates Id's unique for all types then i can:
// in DomainEntity
public override bool Equals(object obj)
{
var other = obj as DomainEntity;
if (Id == 0) // IsTransient()
return ReferenceEquals(this, other);
else
return (other != null) && (Id == other.Id);
}
// Comparer
bool IEqualityComparer.Equals(object x, object y)
{
return object.Equals(x, y);
}