⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fixture.cs

📁 NHibernate NET开发者所需的
💻 CS
字号:
using System.Collections;
using NHibernate.Criterion;
using NUnit.Framework;

namespace NHibernate.Test.NHSpecificTest.NH276.JoinedSubclass
{
	/// <summary>
	/// Got another report in NH276 that they are still
	/// getting the error.  
	/// </summary>
	[TestFixture]
	public class Fixture : TestCase
	{
		protected override string MappingsAssembly
		{
			get { return "NHibernate.Test"; }
		}

		protected override IList Mappings
		{
			get { return new string[] {"NHSpecificTest.NH276.JoinedSubclass.Mappings.hbm.xml"}; }
		}

		[Test]
		public void ManyToOneIdProperties()
		{
			Organization org = new Organization();
			org.OrganizationId = 5;
			org.Name = "the org";

			Status stat = new Status();
			stat.StatusId = 4;
			stat.Name = "the stat";

			Request r = new Request();
			r.Extra = "extra";
			r.Office = org;
			r.Status = stat;

			ISession s = OpenSession();
			s.Save(org);
			s.Save(stat);
			s.Save(r);

			s.Flush();
			s.Close();

			s = OpenSession();
			ICriteria c = s.CreateCriteria(typeof(Request));
			c.Add(Expression.Eq("Status.StatusId", 1));
			c.Add(Expression.Eq("Office.OrganizationId", 1));
			IList list = c.List();

			Assert.AreEqual(0, list.Count, "should contain no results");

			c = s.CreateCriteria(typeof(Request));
			c.Add(Expression.Eq("Status.StatusId", 4));
			c.Add(Expression.Eq("Office.OrganizationId", 5));
			list = c.List();

			Assert.AreEqual(1, list.Count, "one matching result");

			r = list[0] as Request;
			s.Delete(r);
			s.Delete(r.Status);
			s.Delete(r.Office);
			s.Flush();
			s.Close();
		}
	}
}

⌨️ 快捷键说明

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