public void CanRemoveATodo() { Todo myTodo; using (ISession session = OpenSession()) { var person = new Person("myName2"); myTodo = person.AddTodo(new Todo(person) { Name = "I need to get it" }); session.Save(person); nicePersonId = person.Id; Assert.AreEqual(1, person.Todos.Count()); session.Flush(); } using (ISession session = OpenSession()) { var person = session.Get<Person>(nicePersonId); Assert.AreEqual(1, person.Todos.Count()); person.RemoveTodo(myTodo); Assert.AreEqual(0, person.Todos.Count()); session.Flush(); } using (ISession session = OpenSession()) { var person = session.Get<Person>(nicePersonId); Assert.AreEqual(0, person.Todos.Count()); } }