Tôi có một số chuông trong cơ sở dữ liệu của mình với cùng một số. Tôi muốn lấy tất cả chúng mà không bị trùng lặp. Tôi đã tạo một lớp so sánh để thực hiện công việc này, nhưng việc thực thi hàm gây ra độ trễ lớn từ hàm mà không có sự khác biệt, từ 0,6 giây đến 3,2 giây!
Tôi đang làm đúng hay tôi phải sử dụng phương pháp khác?
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;
}
}