如何根据Linq中的父类选择关联

时间:2014-06-05 11:49:43

标签: c# linq nhibernate

我正在创建一个Web应用程序,我需要根据orderId获取订单,但它们应该链接到父类。

public class StudentOrder
{
    public int Id { get; set; }
    public IList<Order> Orders { get; set; }
}

public class Order
{
    public int Id {get;set;}
    public string Name {get;set;}
}

public class EmployeeOrder
{
    public int Id { get; set; }
    public IList<Order> Orders { get; set; }
}

现在我有OrderId,我需要获取订单的详细信息。

NhSession.QueryOver<StudentOrder>()
    .Where(x => x.Orders.Any(y => y.Id == id)).SingleOrDefault();

如何通过q​​ueryOver()获取并通过Id获取订单详细信息。我不想直接查询订单,因为它们与不同的实体链接

1 个答案:

答案 0 :(得分:0)

QueryOver可以使用JoinQueryOver()导航关联路径,如文档here所示。例如:

var studentOrder = NhSession.QueryOver<StudentOrder>()
                            .JoinQueryOver(so => so.Orders)
                            .Where(o => o.Id == orderId);