Ejemplo n.º 1
0
    public void NHibernateProxyHelperReturnsCorrectType()
    {
      try
      {
        using (var s = OpenSession())
        {
          var person = new Person { Id = 1, Name = "Person1" };
          var employee = new Employee { Id = 1, Name = "Emp1", Person = person };

          s.Save(person);
          s.Save(employee);

          s.Flush();
        }

        using (var s = OpenSession())
        {
          var person = s.Load<Person>(1);

          var type = NHibernateProxyHelper.GuessClass(person);

          Assert.AreEqual(type, typeof(Person));
        }

        using (var s = OpenSession())
        {
          var person = s.Get<Person>(1);

          var type = NHibernateProxyHelper.GuessClass(person);

          Assert.AreEqual(type, typeof(Person));
        }
      }
      finally
      {
        using (var s = OpenSession())
        {
          s.Delete("from Employee");
          s.Delete("from Person");

          s.Flush();
        }
      }
    }
Ejemplo n.º 2
0
    public void CanUseFieldInterceptingProxyAsHQLArgument()
    {
      try
      {
        using (var s = OpenSession())
        {
          var person = new Person { Id = 1, Name = "Person1" };
          var employee = new Employee { Id = 1, Name = "Emp1", Person = person };

          s.Save(person);
          s.Save(employee);

          s.Flush();
        }

        using (var s = OpenSession())
        {
          var person = s.Get<Person>(1);

          var list = s.CreateQuery("from Employee where Person = :p")
            .SetEntity("p", person)
            .List<Employee>();

          Assert.AreEqual(list.Count, 1);
        }
      }
      finally
      {
        using (var s = OpenSession())
        {
          s.Delete("from Employee");
          s.Delete("from Person");

          s.Flush();
        }
      }
    }