INNER CODE UNIT · C#

driverWhere

mongodb/mongo-efcore-provider · benchmarks/MongoDB.EntityFrameworkCore.Benchmarks/HeadlineBenchmarks.cs:53

        var driverWhere = _flatColl.AsQueryable().Where(f => f.Active).ToList().Count;
        var driverReview = DriverReviewInclude();

        using var ef = new BenchmarkDbContext(_efOptions);
        var efAll = ef.FlatItems.AsNoTracking().ToList().Count;
        var efWhere = ef.FlatItems.AsNoTracking().Where(f => f.Active).ToList().Count;
        var efReview = ef.Reviews.AsNoTracking().Include(r => r.Product).ToList().Count(r => r.Product != null);

        if (driverAll != N || efAll != N)
            throw new InvalidOperationException($"FlatItem count mismatch: driver={driverAll}, ef={efAll}, expected {N}.");
        if (driverWhere != efWhere)
            throw new InvalidOperationException($"Where count mismatch: driver={driverWhere}, ef={efWhere}.");
        if (driverReview != N || efReview != N)
            throw new InvalidOperationException($"Review+Product mismatch: driver={driverReview}, ef={efReview}, expected {N}.");
    }

    // Hand-written $lookup + $unwind equivalent of Reviews.Include(r => r.Product).
    private int DriverReviewInclude()

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…