我有一个简单的数据库结构如下
命令
订单编号
订单项
订单项 ID | 订单号 | 书名 | OrderItemTypeId
书
书名 | 作者 ID
我想选择一个特定的订单以及与其关联的所有数据,即 OrderItems 以及所售图书的作者。
context.Orders.Include(order => order.OrderItems)
.ThenInclude(orderItem => orderItem.Book)
.ThenInclude(book => book.Author)
.Include(order => order.OrderItems)
.ThenInclude(orderItem => orderItem.OrderItemType)
.Where(order => order.Id == 1);
我被卡住的地方是在这条线之后
.ThenInclude(book => book.Author)
因为 lambda 现在将引用一本书,但我需要回到 OrderItem 级别以包含 OrderItemType。我似乎能够做到这一点的唯一方法是再次包含 OrderItems 以获得包含 OrderItemType 的访问权限。这似乎不正确或至少不是很优雅。有人能指出我使用方法语法的更好方法的方向吗?谢谢