public async Task StructurePefetchAsyncTest() { Key containerKey; Key bookShop0Key; Key book0Key; Key bookShop1Key; Key book1Key; PrefetchTestHelper.CreateOfferContainer(Domain, out containerKey, out book0Key, out bookShop0Key, out book1Key, out bookShop1Key); using (var session = Domain.OpenSession()) using (var tx = session.OpenTransaction()) { var containers = session.Query.Many <Model.OfferContainer>(EnumerableUtils.One(containerKey)) .Prefetch(oc => oc.IntermediateOffer).AsAsync(); foreach (var key in await containers) { PrefetchTestHelper.AssertOnlySpecifiedColumnsAreLoaded(containerKey, containerKey.TypeInfo, session, field => PrefetchTestHelper.IsFieldToBeLoadedByDefault(field) || field.Name.StartsWith("IntermediateOffer")); } } }
public async Task StructureFieldsPrefetchAsyncTest() { Key containerKey; Key bookShop0Key; Key book0Key; Key bookShop1Key; Key book1Key; PrefetchTestHelper.CreateOfferContainer(Domain, out containerKey, out book0Key, out bookShop0Key, out book1Key, out bookShop1Key); using (var session = Domain.OpenSession()) using (var tx = session.OpenTransaction()) { var containers = session.Query.Many <Model.OfferContainer>(EnumerableUtils.One(containerKey)) .Prefetch(oc => oc.RealOffer.Book) .Prefetch(oc => oc.IntermediateOffer.RealOffer.BookShop).AsAsync(); foreach (var key in await containers) { PrefetchTestHelper.AssertOnlyDefaultColumnsAreLoaded(book0Key, book0Key.TypeInfo, session); PrefetchTestHelper.AssertOnlyDefaultColumnsAreLoaded(bookShop1Key, bookShop1Key.TypeInfo, session); } } }