Entity Framework C# 仅与第二个表中的一列连接

问题描述 投票:0回答:1

我在实体框架中有一个连接来连接 Order 表和 OrderItem 表。所有订单都会有多个 OrderItem。我正在尝试返回所有订单,但仅返回 OrderItem 列表中的 orderItemStatus 列。

在我的订单模型中,我有一个属性

public List<int>? orderItemStatus { get; set; }

我可以正常加入 2 个表,但它会返回 OrderItem 中的所有列。

orderList = await _context.Order.Include(orderItem => orderItem).ToListAsync();

如何获取仅包含 OrderItem.orderItemStatus 值的订单列表?

c# entity-framework join
1个回答
0
投票

你尝试过这样的事情吗:

    orderList = await  _context.Order
            .Join(_context.OrderItem,
                o => o.OrderId,
                oi => oi.OrderId,
                (o,oi) => new { o,io })
            .Select(ol => new
            {
                OrderId = o.Order.OrderId,
                /* Order columns  here */
                OrderItemStatus = oi.OrderItem.orderItemStatus
            })
            .ToListAsync();
© www.soinside.com 2019 - 2024. All rights reserved.