INNER CODE UNIT · C#
driverLines
mongodb/mongo-efcore-provider · benchmarks/MongoDB.EntityFrameworkCore.Benchmarks/ExtendedBenchmarks.cs:64
var driverLines = driverOrders.Sum(o => o.Lines.Count);
var driverDiscounts = driverOrders.Sum(o => o.Lines.Sum(l => l.Discounts.Count));
using var ef = new BenchmarkDbContext(_efOptions);
var efComplex = EfComplexQuery(ef).Count;
var efWide = ef.Wides.AsNoTracking().ToList().Count;
var efOrders = ef.Orders.AsNoTracking().ToList();
var efLines = efOrders.Sum(o => o.Lines.Count);
var efDiscounts = efOrders.Sum(o => o.Lines.Sum(l => l.Discounts.Count));
if (driverWide != WideN || efWide != WideN)
throw new InvalidOperationException($"Wide count mismatch: driver={driverWide}, ef={efWide}, expected {WideN}.");
if (driverOrders.Count != OrderN || efOrders.Count != OrderN)
throw new InvalidOperationException($"Order count mismatch: driver={driverOrders.Count}, ef={efOrders.Count}, expected {OrderN}.");
if (driverLines != efLines || efLines != OrderN * 3)
throw new InvalidOperationException($"Line count mismatch: driver={driverLines}, ef={efLines}, expected {OrderN * 3}.");
if (driverDiscounts != efDiscounts || efDiscounts != OrderN * 6)
throw new InvalidOperationException($"Discount count mismatch: driver={driverDiscounts}, ef={efDiscounts}, expected {OrderN * 6}.");