Cómo usar IEqualityComparer
Tengo algunas campanas en mi base de datos con el mismo número. Quiero obtenerlos todos sin duplicación. ¡Entonces creo una clase de comparación para hacer este trabajo, pero la ejecución de la función hace un gran retraso desde la función sin distinción, de 0.6 segundos a 3.2 segundos!
¿Lo estoy haciendo bien o tengo que usar otro método?
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;
}
}