public async System.Threading.Tasks.Task WithBidiOneToOneAsync()
        {
            using (ISession session = OpenSession())
                using (var trx = session.BeginTransaction())
                {
                    var worker   = new PersonO2O();
                    var homestay = new PersonO2O();

                    var home   = new AddressO2O();
                    var office = new AddressO2O();

                    home.SetPerson(homestay);
                    office.SetPerson(worker);

                    await(session.SaveAsync(home));
                    await(session.SaveAsync(office));

                    Assert.DoesNotThrowAsync(() => { return(trx.CommitAsync()); });
                }

            // 2 Person inserts, 2 Address inserts, 2 Person updates (because mapped through foreign key)
            Assert.AreEqual(3, StatsBatcher.BatchSizes.Count, "Unexpected batches count");
            Assert.AreEqual(6, StatsBatcher.BatchSizes.Sum(), "Unexpected batched queries count");
        }
Exemple #2
0
 public virtual void SetPerson(PersonO2O person)
 {
     Person         = person;
     person.Address = this;
 }