public void CanRemoveStuff() { Stuff myStuff; using (ISession session = OpenSession()) { var person = new Person("MyName4"); myStuff = person.AddStuff(new Stuff(person) { Name = "BallPen" }); session.Save(person); nicePersonId = person.Id; Assert.AreEqual(1, person.MyStuff.Count()); session.Flush(); } using (ISession session = OpenSession()) { var person = session.Get<Person>(nicePersonId); Assert.AreEqual(1, person.MyStuff.Count()); person.RemoveStuff(myStuff); Assert.AreEqual(0, person.MyStuff.Count()); session.Flush(); } using (ISession session = OpenSession()) { var person = session.Get<Person>(nicePersonId); Assert.AreEqual(0, person.MyStuff.Count()); } }