INNER CODE UNIT · C#
ScheduleEqualityComparer
BlueshiftSoftware/EntityFrameworkCore · src/Blueshift.EntityFrameworkCore.MongoDB.SampleDomain/_Comparers.cs:128
public class ScheduleEqualityComparer : BaseEqualityComparer<Schedule>
{
private readonly ZooAssignmentEqualityComparer _zooAssignmentEqualityComparer
= new ZooAssignmentEqualityComparer();
private EmployeeEqualityComparer _approverEqualityComparer;
protected override bool MemberwiseEquals(Schedule schedule1, Schedule schedule2)
=> (_approverEqualityComparer?.Equals(schedule1.Approver, schedule2.Approver) ?? true)
&& _zooAssignmentEqualityComparer.CompareCollections(schedule1.Assignments, schedule2.Assignments);
public ScheduleEqualityComparer WithApproverEqualityComparer(
Action<EmployeeEqualityComparer> configurator = null)
{
_approverEqualityComparer = new EmployeeEqualityComparer();
configurator?.Invoke(_approverEqualityComparer);
return this;
}