【问题标题】:LINQ Query Return unique list of listsLINQ 查询返回列表的唯一列表
【发布时间】:2021-07-11 20:02:12
【问题描述】:

我是 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 的相关列表?

【问题讨论】:

  • 您好,欢迎来到 SO!您是在询问Linq 还是询问从数据库中获取数据的问题?请阅读How to create a Minimal, Complete, and Verifiable example 以改善您的问题并帮助我们了解您的问题。
  • 你试过什么?你用什么来访问数据?有什么 ORM 吗?
  • 您使用的是什么 LINQ:LINQ to SQL / EF 6.x / EF Core 2.0 / 2.1 / 3.x / 5.x / 6.x?什么数据库提供商?
  • NetMage... 我正在使用 EF 5.x。 Codexer... 我正在尝试使用 Linq 从数据库中获取数据。 Guru Stron... 我尝试加入表格,然后选择返回不是我想要的数据模型。 from o in db.orders join oi in db.orderitems on o.Id equals oi.orderID join oia in db.OrderItemAddOns on oi.ID equals oia.OrderItemID select new { o, oi, oia }

标签: c# .net linq asp.net-core nested-lists


【解决方案1】:

使用实体框架,您可以使用 Include() 从您的数据库及其相关实体中检索订单,这将获取任何相关的 OrderItemsThenInclude(),这将获取任何 OrderItemAddOnsOrderItem 具有:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-28
    • 2018-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多