public void QueryWithInclude() { var users = Database.Query <User>().Include(x => x.House).ToList(); InMemoryUsers.ForEach(x => x.House = InMemoryHouses.SingleOrDefault(y => y.HouseId == x.HouseId)); Assert.AreEqual(15, users.Count); for (int i = 0; i < users.Count; i++) { AssertUserValues(InMemoryUsers[i], users[i]); AssertUserHouseValues(InMemoryUsers[i], users[i]); } }
public void QueryWithIncludeAndNestedOrderBy() { var users = Database.Query <User>().Include(x => x.House).Where(x => x.HouseId != null).OrderBy(x => x.House.Address).ToList(); InMemoryUsers.ForEach(x => x.House = InMemoryHouses.SingleOrDefault(y => y.HouseId == x.HouseId)); var inmemory = InMemoryUsers.Where(x => x.HouseId != null).OrderBy(x => x.House.Address).ToList(); Assert.AreEqual(7, users.Count); for (int i = 0; i < users.Count; i++) { AssertUserValues(inmemory[i], users[i]); AssertUserHouseValues(inmemory[i], users[i]); } }
public void QueryWithIncludeNestedOrderByLimitAndProjection() { var users = Database.Query <User>() .Include(x => x.House) .Where(x => x.HouseId != null) .OrderBy(x => x.House.HouseId) .Limit(5) .ProjectTo(x => new { Address = (x.HouseId != null ? x.House.Address : string.Empty), x.House.HouseId }); InMemoryUsers.ForEach(x => x.House = InMemoryHouses.SingleOrDefault(y => y.HouseId == x.HouseId)); var inmemory = InMemoryUsers.Where(x => x.HouseId != null).OrderBy(x => x.House.HouseId).Select(x => new { x.House.Address, x.HouseId }).ToList(); Assert.AreEqual(5, users.Count); for (int i = 0; i < users.Count; i++) { Assert.AreEqual(inmemory[i].Address, users[i].Address); Assert.AreEqual(inmemory[i].HouseId, users[i].HouseId); } }
public void QueryWithIncludeNestedOrderByLimitAndProjectionToProjectUser() { var users = Database.Query <User>() .Include(x => x.House) .Where(x => x.HouseId != null) .OrderBy(x => x.House.HouseId) .Limit(5) .ProjectTo(x => new ProjectUser() { NameWithAge = x.Name + x.Age }); InMemoryUsers.ForEach(x => x.House = InMemoryHouses.SingleOrDefault(y => y.HouseId == x.HouseId)); var inmemory = InMemoryUsers.Where(x => x.HouseId != null).OrderBy(x => x.House.HouseId).ToList(); Assert.AreEqual(5, users.Count); for (int i = 0; i < users.Count; i++) { Assert.AreEqual(inmemory[i].Name + inmemory[i].Age, users[i].NameWithAge); } }