首页 > 解决方案 > LINQ 查询返回列表的唯一列表

问题描述

我是 Linq 的新手,正在努力解决以下问题。

我有一些模型结构如下

class Order {
    public Guid ID
    public List<OrderItems> OrderItems
}

class OrderItem {
    public Guid ID
    public Guid OrderID
    public List<OrderItemAddOns> OrderItemAddOns
}

class OrderItemAddOn {
    public Guid ID
    public Guid OrderItemID
}

如何查询数据库以获取包含 OrderItems 相关列表的 Orders 列表,其中包含 OrderItemAddOns 的相关列表?

标签: c#.netlinqasp.net-corenested-lists

解决方案


使用实体框架,您可以从数据库及其相关实体中检索订单,使用Include()它将获取任何相关实体OrderItems以及ThenInclude()将获取任何OrderItemAddOns具有的实体OrderItem

var result = db.Orders
                 .Include(o => o.OrderItems)
                 .ThenInclude(o => o.OrderItemAddOns)
                 .ToList();

推荐阅读