1
Orders、OrderItems、OrderSubItemsの3つのテーブルがあるとします。注文サブ項目を含むオーダー項目を含むオーダーの表。カスケードGroupJoin
だから
Orders:
Id | Other columns
O-123456 |
O-789123 |
O-456789 |
OrderItems:
Id | OrderId | Other columns
OI-123456 | O-123456 |
OI-123457 | O-123456 |
OI-123458 | O-123456 |
OI-123459 | O-456789 |
OI-123460 | O-456789 |
OI-123461 | O-456789 |
OrderSubItems:
Id | OrderItemId | Other columns
OSI-123456 | OI-123456 |
OSI-123457 | OI-123456 |
OSI-123458 | OI-123457 |
OSI-123459 | OI-123457 |
OSI-123460 | OI-123458 |
OSI-123461 | OI-123458 |
だから順序O-123456は、3オーダーアイテムOI-123456、OI-123457及びOI-123458を有しています。これらのオーダーアイテムのそれぞれには、2つのオーダーのサブアイテムがあります。
私はエンティティフレームワークのデータベースを最初に使用していますが、制約はありません。これらの3つのテーブルの間にリンクが作成されています。だから私はリンクを手動で作成する必要があります。二GroupJoinがコンパイルされていない
Orders.GroupJoin(OrderItems, order => order.Id, orderItem => orderItem.OrderId, (order, orderItem) => new { order, orderItem })
.GroupJoin(OrderSubItems, x => x.orderItem.Id, y => y.OrderItemId, (x, orderSubItem) => new
{
x.orderItem.ItemId,
... ???
})
.Dump();
:
私はすでにこれをやりました。私の目標は、データの元の構造を作成することです。私はLinqPadを使用します。