For an object with properties A, B, C, D, StartDate and EndDate if I wanted to implement something where any two objects are equal if they have identical A, B and C and over
This is not possible.
Equality in .Net must be transitive, meaning that if a == b and b == c, then a == c.
a == b
b == c
a == c