J'ai des cloches dans ma base de données avec le même numéro. Je veux les obtenir tous sans duplication. J'ai créé une classe de comparaison pour faire ce travail, mais l'exécution de la fonction provoque un gros retard par rapport à la fonction sans distincte, de 0,6 sec à 3,2 sec !
Est-ce que je le fais correctement ou dois-je utiliser une autre méthode ?
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;
}
}