小编Rof*_*fni的帖子

c#Linq to Objects - FirstOrDefault性能

我们正在尝试优化我们的一些方法.我们使用Redgate的Performance Profiler来查找一些性能泄漏.

我们的工具在几种方法中使用Linq来对象.但我们注意到,FirstOrDefault对于具有+/- 1000个对象的集合,需要很长时间.

探查器还会警告查询非常慢.我已经使用探查器结果添加了图像.

无法将集合添加到数据库,然后查询数据库.有什么建议?

谢谢 !

private SaldoPrivatiefKlantVerdeelsleutel GetParentSaldoPrivatiefKlantVerdeelsleutel(SaldoPrivatiefKlantVerdeelsleutel saldoPrivatiefKlantVerdeelsleutel, SaldoGebouwRekeningBoeking boeking, int privatiefKlant)
{
    SaldoPrivatiefKlantVerdeelsleutel parentSaldoPrivatiefKlantVerdeelsleutel = null;

    if (saldoPrivatiefKlantVerdeelsleutel != null)
    {
        try
        {
            parentSaldoPrivatiefKlantVerdeelsleutel = saldoPrivatiefKlantVerdeelsleutel.AfrekenPeriode.SaldoPrivatiefKlantVerdeelsleutelCollection
                .FirstOrDefault(s => (boeking == null || (s.SaldoVerdeelsleutel != null &&
                (s.SaldoVerdeelsleutel.GebouwVerdeelSleutel.ID == boeking.SaldoGebouwRekeningVerdeling.SaldoGebouwRekening.SaldoVerdeelsleutel.GebouwVerdeelSleutel.ID)))
                && s.PrivatiefKlant.ID == privatiefKlant);
        }
        catch (Exception ex)
        { }
    }

    return parentSaldoPrivatiefKlantVerdeelsleutel;
}
Run Code Online (Sandbox Code Playgroud)

图像: 个人资料报告

c# linq performance

3
推荐指数
1
解决办法
7455
查看次数

标签 统计

c# ×1

linq ×1

performance ×1