public void WhenStoringUser() { string id; using (var session = ShardedDocumentStore.OpenSession()) { var entity = new User { Name = "Fitzchak Yitzchaki" }; session.Store(entity); id = entity.Id; AssertNumberOfRequests(Servers["Users"], 2); // HiLo session.SaveChanges(); AssertNumberOfRequests(Servers["Users"], 3); Servers.Where(ravenDbServer => ravenDbServer.Key != "Users") .ForEach(server => AssertNumberOfRequests(server.Value, 0)); } using (var session = ShardedDocumentStore.OpenSession()) { var user = session.Load<User>(id); Assert.NotNull(user); Assert.Equal("Fitzchak Yitzchaki", user.Name); AssertNumberOfRequests(Servers["Users"], 4); Servers.Where(ravenDbServer => ravenDbServer.Key != "Users") .ForEach(server => AssertNumberOfRequests(server.Value, 0)); } }
public void LazyLoadOperationWillHandleIncludes() { var ids = new List<string>(); using (var session = ShardedDocumentStore.OpenSession()) { for (int i = 1; i <= 4; i++) { var entity = new User {Name = ids.LastOrDefault()}; session.Store(entity); ids.Add(entity.Id); } session.SaveChanges(); } using (var session = ShardedDocumentStore.OpenSession()) { var result1 = session.Advanced.Lazily .Include("Name") .Load<User>(ids[1]); var result2 = session.Advanced.Lazily .Include("Name") .Load<User>(ids[3]); Assert.NotNull(result1.Value); Assert.NotNull(result2.Value); Assert.True(session.Advanced.IsLoaded(result1.Value.Name)); Assert.True(session.Advanced.IsLoaded(result2.Value.Name)); } }
public void MultiLoadShouldWork() { string id; using (var session = ShardedDocumentStore.OpenSession()) { var entity = new User { Name = "Fitzchak Yitzchaki" }; session.Store(entity); id = entity.Id; session.SaveChanges(); } using (var session = ShardedDocumentStore.OpenSession()) { var users = session.Load<User>(new [] { id, "does not exists" }); Assert.NotNull(users); Assert.Equal(2, users.Length); Assert.Equal("Fitzchak Yitzchaki", users[0].Name); Assert.Null(users[1]); } }
public void LazyMultiLoadOperationWouldBeInTheSession() { var ids = new List<string>(); using (var session = ShardedDocumentStore.OpenSession()) { for (int i = 1; i <= 4; i++) { var entity = new User {Id = "users/" + i, Name = ids.LastOrDefault()}; session.Store(entity); ids.Add(entity.Id); } session.SaveChanges(); } AssertNumberOfRequests(Servers["Users"], 1); Servers.Where(server => server.Key != "Users") .ForEach(server => AssertNumberOfRequests(server.Value, 0)); using (var session = ShardedDocumentStore.OpenSession()) { var result1 = session.Advanced.Lazily.Load<User>(new[] { ids[0], ids[1] }); var result2 = session.Advanced.Lazily.Load<User>(new[] { ids[2], ids[3] }); var a = result1.Value; Assert.Equal(2, a.Length); AssertNumberOfRequests(Servers["Users"], 2); Servers.Where(server => server.Key != "Users") .ForEach(server => AssertNumberOfRequests(server.Value, 0)); var b = result2.Value; Assert.Equal(2, b.Length); AssertNumberOfRequests(Servers["Users"], 2); Servers.Where(server => server.Key != "Users") .ForEach(server => AssertNumberOfRequests(server.Value, 0)); foreach (var user in b.Concat(a)) { Assert.NotNull(session.Advanced.GetMetadataFor(user)); } } }