Как использовать IEqualityComparer

У меня есть несколько колокольчиков в моей базе данных с тем же номером. Я хочу получить их все без дублирования. Я создал класс сравнения для выполнения этой работы, но выполнение функции вызывает большую задержку от функции без различия, от 0,6 до 3,2 секунды!

Правильно ли я делаю или мне нужно использовать другой метод?

reg.AddRange(
    (from a in this.dataContext.reglements
     join b in this.dataContext.Clients on a.Id_client equals b.Id
     where a.date_v <= datefin && a.date_v >= datedeb
     where a.Id_client == b.Id
     orderby a.date_v descending 
     select new Class_reglement
     {
         nom  = b.Nom,
         code = b.code,
         Numf = a.Numf,
     })
    .AsEnumerable()
    .Distinct(new Compare())
    .ToList());

class Compare : IEqualityComparer<Class_reglement>
{
    public bool Equals(Class_reglement x, Class_reglement y)
    {
        if (x.Numf == y.Numf)
        {
            return true;
        }
        else { return false; }
    }
    public int GetHashCode(Class_reglement codeh)
    {
        return 0;
    }
}
90
задан CarenRose 14 November 2019 в 21:30
поделиться