实体框架包括Nest集合和嵌套属性

时间:2017-11-09 12:33:07

标签: c# entity-framework entity-framework-core

我有4个班级

origin/master

使用实体框架我想从客户级别开始提取所有信息。我可以获得大部分信息,但是我很难让订单显示OrderType。

这是我到目前为止所做的。

public class Customer
{
    public string CustomerName { get; set; }
    public ICollection<Order> Orders{ get; set; }
}

public class Order
{
    public string OrderNumber { get; set; }
    public ICollection<OrderLine> OrderLines { get; set; }
    public OrderType Type { get; set; }
}

public class OrderLine
{
    public string StockItem { get; set; }
}

public class OrderType
{
    public string Type { get; set; }
}

我已尝试在o.Orders之后添加select但这似乎不起作用。

2 个答案:

答案 0 :(得分:1)

您可以这样做:

var customerOrderDetails = _myOrderRepository
                           .GetAll()
                           .Include(o => o.Orders)
                           .Include(o => o.Orders.Select(l => l.OrderLines))
                           .Include(o => o.Orders.Select(t => t.Type))

答案 1 :(得分:0)

var customerOrderDetails = _myOrderRepository
                       .GetAll()
                       .Include(o => o.Orders)
                       .ThenInclude(l => l.OrderLines)
                       .Include(o => o.Orders).ThenInclude(t => t.Type)

在OrderLines之后添加另一个Include,然后选择类型似乎有效。