public void TransientProxyBagCascadeSave() { var id = 10; using (var session = OpenSession()) using (var t = session.BeginTransaction()) { var e = new EntityAssigned() { Id = id, Name = "a" }; session.Save(e); session.Flush(); t.Commit(); } using (var session = OpenSession()) using (var t = session.BeginTransaction()) { var child = GetTransientProxy(session, id); var parent = new EntityWithAssignedBag() { Id = 1, Name = "p", Children = { child } }; child.Parent = parent; session.Save(parent); session.Flush(); t.Commit(); } using (var session = OpenSession()) { var entity = session.Get <EntityAssigned>(id); Assert.That(entity, Is.Not.Null, "Transient proxy wasn't saved"); } }
public async Task TransientProxyBagCascadeSaveAsync() { var id = 10; using (var session = OpenSession()) using (var t = session.BeginTransaction()) { var e = new EntityAssigned() { Id = id, Name = "a" }; await(session.SaveAsync(e)); await(session.FlushAsync()); await(t.CommitAsync()); } using (var session = OpenSession()) using (var t = session.BeginTransaction()) { var child = await(GetTransientProxyAsync(session, id)); var parent = new EntityWithAssignedBag() { Id = 1, Name = "p", Children = { child } }; child.Parent = parent; await(session.SaveAsync(parent)); await(session.FlushAsync()); await(t.CommitAsync()); } using (var session = OpenSession()) { var entity = await(session.GetAsync <EntityAssigned>(id)); Assert.That(entity, Is.Not.Null, "Transient proxy wasn't saved"); } }