Если у меня есть overrided bool Equals(object obj)
, и я хочу, чтобы оператор ==
и Foo.Equals(object obj)
дал тот же ответ, я обычно реализую !=
оператор как это:
public static bool operator ==(Foo foo1, Foo foo2) {
return object.Equals(foo1, foo2);
}
public static bool operator !=(Foo foo1, Foo foo2) {
return !object.Equals(foo1, foo2);
}
оператор ==
будет тогда после выполнения всех пустых проверок на меня, заканчивают тем, что звонили foo1.Equals(foo2)
, что я переопределил, чтобы сделать фактическую проверку, если эти два равны.
Попробуйте OrderBy (x => x.Col1) .ThenBy (x => x.Col2)
. В любом случае это функция LINQ, а не только EF.