내 데이터베이스에 같은 번호의 종이 있습니다. 중복없이 모두 얻고 싶습니다. 이 작업을 수행하기 위해 비교 클래스를 만들었지 만 함수를 실행하면 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;
}
}