public void TestAggregateBatchIteratesInBatchesWithDbContext() { var parentBatch = Context.Batch <TestParent, string>( pp => pp.OrderBy(p => p.Id), p => "Parent: " + p.FirstName + " " + p.LastName, null, 50 ); var childrenBatch = Context.Batch <TestChild, string>( pp => pp.OrderBy(p => p.Id), p => "Child: " + p.FirstName + " " + p.LastName, null, 50 ); var intList = new[] { 10, 20, 30, 40, 50, 60, 70 }; var intBatch = intList.Batch <int, string>(i => i.ToString()); var stringList = new[] { "TestName1", "TestName2", "TestName3", "TestName4" }; var stringBatch = stringList.Batch <string>(); var aggregator = Aggregate.Enumerable.AggregateBatch <string>( new IBatchEnumerable <string>[] { parentBatch, childrenBatch, intBatch, stringBatch, } ); int count = 0; int sum = 0; foreach (var b in aggregator) { count++; sum += b.Count(); } Assert.AreEqual(6, count); var expectedSum = Context.TestParents.Count() + Context.TestChildren.Count() + intList.Count() + stringList.Count(); Assert.AreEqual(expectedSum, sum); }
public void TestContextBatchEnumerableIteratesInBatches() { var items = Context.Batch <TestDbModel, string>( ot => ot.OrderBy(t => t.Id), t => t.Name, null, 100000 ); var counter = 0; foreach (var itemBatch in items) { Assert.AreEqual(100000, itemBatch.Count()); counter++; Assert.AreEqual(100000, itemBatch.Count()); } Assert.AreEqual(10, counter); }