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

本文关键字:父类 选择 关联 何根 Linq | 更新日期: 2023-09-27 18:06:57

我正在创建一个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();

如何通过queryOver()获取并通过Id获取订单详细信息?我不想直接查询订单,因为它们链接到两个不同的实体

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

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

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