fixture.cs

来自「NHibernate NET开发者所需的」· CS 代码 · 共 41 行

CS
41
字号
using NUnit.Framework;

namespace NHibernate.Test.NHSpecificTest.NH1301
{
	[TestFixture]
	public class Fixture : BugTestCase
	{
		public override string BugNumber
		{
			get { return "NH1301"; }
		}

		[Test]
		public void Test()
		{
			using (ISession s = OpenSession())
			using(ITransaction tx = s.BeginTransaction())
			{
				ClassA a = new ClassA();
				a.BCollection.Add(new ClassB());
				s.Save(a);
				s.Flush();
				s.Clear();

				//dont know if proxy should be able to refresh
				//so I eager/join load here just to show it doesn't work anyhow...
				ClassA loaded = s.CreateCriteria(typeof(ClassA))
												.SetFetchMode("BCollection", FetchMode.Join)
												.List<ClassA>()[0];
				Assert.AreEqual(1, a.BCollection.Count);
				loaded.BCollection.RemoveAt(0);
				Assert.AreEqual(0, loaded.BCollection.Count);
				s.Refresh(loaded);
				Assert.AreEqual(1, loaded.BCollection.Count);
				s.Delete(loaded);
				tx.Commit();
			}
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?