次のようなデータ構造があります。
Category: ID, Name
Manufacturer: ID, Name
Product: ID, CategoryID, ManufacturerID, Name
EF を使用して、次のようなデータを返すストアド プロシージャを呼び出しています。
CategoryID CategoryName ManufacturerID ManufacturerName ProductID ProductName
=================================================================================
1 C1 1 M1 1 P1
1 C1 1 M1 2 P2
1 C1 2 M2 3 P3
2 C2 1 M1 4 P4
2 C2 3 M3 5 P5
EF は、上記のデータをマップするデータ型 (MyFlatDataType) を生成します。
LINQ resursion を使用して、ツリービューに表示できるオブジェクトを構築したいと考えています。
C1
\_ M1
\_ P1
\_ P2
\_ M2
\_ P3
C2
\_ M1
\_ P4
\_ M3
\_ P5
ノードごとに ID (CategoryID、ManufacturerID、または ProductID のいずれかであり、これらの ID は同じシード値を持つ可能性があるため、ParentID のようなものではありません) も保持する必要があることに注意してください。これは実行可能ですか?