public void Unconstrained()
		{
			using (ISession s = OpenSession())
			using (ITransaction t = s.BeginTransaction())
			{
				SimplyB sb = new SimplyB(100);
				SimplyA sa = new SimplyA("ralph");
				sa.SimplyB = sb;
				s.Save(sb);
				s.Save(sa);
				t.Commit();
			}

			using (ISession s = OpenSession())
			{
				using (ITransaction t = s.BeginTransaction())
				{
					SimplyB sb = (SimplyB) s.Get(typeof(SimplyB), 100);
					Assert.IsNotNull(sb);
					s.Delete(sb);
					t.Commit();
				}

				// Have to do this in a separate transaction, otherwise ISession.Get retrieves
				// the cached version of SimplyA with its B being not null.
				using (ITransaction t = s.BeginTransaction())
				{
					SimplyA sa = (SimplyA) s.Get(typeof(SimplyA), "ralph");
					Assert.IsNull(sa.SimplyB);
					s.Delete(sa);
					t.Commit();
				}
			}
		}
		public void Unconstrained()
		{
			using (ISession s = OpenSession())
			using (ITransaction t = s.BeginTransaction())
			{
				SimplyB sb = new SimplyB(100);
				SimplyA sa = new SimplyA("ralph");
				sa.SimplyB = sb;
				s.Save(sb);
				s.Save(sa);
				t.Commit();
			}

			using (ISession s = OpenSession())
			{
				using (ITransaction t = s.BeginTransaction())
				{
					SimplyB sb = (SimplyB) s.Get(typeof(SimplyB), 100);
					Assert.IsNotNull(sb);
					s.Delete(sb);
					t.Commit();
				}

				// Have to do this in a separate transaction, otherwise ISession.Get retrieves
				// the cached version of SimplyA with its B being not null.
				using (ITransaction t = s.BeginTransaction())
				{
					SimplyA sa = (SimplyA) s.Get(typeof(SimplyA), "ralph");
					Assert.IsNull(sa.SimplyB);
					s.Delete(sa);
					t.Commit();
				}
			}
		}