2012-05-11 4 views
0

에 ISET와 자식 개체를 결합하는 방법. SQL 요청에서이 모든 것을 얻으려면 무엇이 가장 효과적일까요?내가 <pre><code>public class Order { public virtual ISet<OrderItem> OrderItems { get; set; } } public class OrderItem { public virtual Product Product { get; set; } } </code></pre> <p>OrderItem에 제품과 1 대 1의 관계에 있고, 다음과 같은 클래스</p>이있는 경우 NHibernate에 기준 API를

나는 nhibernate criteria API를 사용하고 있습니다.

 using (ITransaction transaction = _session.BeginTransaction()) 
     { 
      try 
      { 
       Model.Order order = _session 
       .CreateCriteria(typeof(Order)) 
       .Add(Restrictions.Eq("Id", id)) 
       .CreateAlias("OrderItems", "orderItems", JoinType.xxxx) 

       .UniqueResult<Model.Order>(); 
       transaction.Commit(); 
       return order; 
      } 
      catch (HibernateException) 
      { 
       transaction.Rollback(); 
       _session.Close(); 
       _session.Dispose(); 
       throw; 
      } 
     } 

답변

1
Model.Order order = _session.CreateCriteria(typeof(Order)) 
    .Add(Restrictions.Eq("Id", id)) 
    .SetFetchMode("OrderItems", FetchMode.Eager) 
    .UniqueResult<Model.Order>(); 
을 jointypes으로 어떻게 내가 ORDERITEMS 및 제품을 추가
관련 문제

 관련 문제