2012-04-23 5 views
1

У меня есть следующий сценарий, где «Родитель» содержит список «Ребенок» с отношением «один ко многим».Извлечение родительского объекта из дочернего объекта в свободном nhibernate

public class Parent 
{ 
public virtual int Id { get; protected set; } 
public virtual String Title { get; set; } 
public virtual IList<Child> Child { get; set; } 
} 

public class Child 
{ 
public virtual int Id { get; protected set; } 
public virtual String Code{ get; set; } 
} 

В какой-то момент у меня есть объект класса «ребенок», из которого я хочу, чтобы принести его соответствующий родительский объект. Любое предложение, как это сделать?

ответ

0

Вы можете сделать так:

var childId = "..."; 

Child childAlias = null; 
session.QueryOver<Parent> 
    .JoinAlias(parent => parent.Children,() => childAlias) 
    .Where(() => childAlias.Id == childId) 
    .TransformUsing(Transformers.DistinctRootEntity) 
    .SingleOrDefault(); 
+0

Спасибо за вашу помощь. –