ฉันมีระฆังในฐานข้อมูลที่มีหมายเลขเดียวกัน ฉันต้องการรับทั้งหมดโดยไม่ต้องทำซ้ำ ฉันสร้างคลาสเปรียบเทียบเพื่อทำงานนี้ แต่การดำเนินการของฟังก์ชันทำให้เกิดความล่าช้าอย่างมากจากฟังก์ชันโดยไม่แตกต่างจาก 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;
}
}