2017-02-14 6 views
0

私は3つのテーブルました:移入データは

カー

enter image description here

部品を

enter image description here

サブパート

enter image description here

は、今私は、私は簡単にそれを得ることができ、内部結合を行うことにより、簡単にすべての3つのテーブルからデータを取得したいです。私のSQLクエリは、私は、テーブルの列とテーブルと同じ名前と同じプロパティを持つ同じエンティティをしたC#では

Select C.Id AS CarId,C.Name AS CarName 
, P.Id AS PartsId,P.Name AS PartsName 
, SP.Id AS SubPartsId,SP.Name AS SubPartsName 
from Car C 
INNER JOIN Parts P on C.Id=P.CarId 
INNER JOIN SubParts SP on P.Id=SP.PartsId 

で、今私は、3つの異なる事業体における単一のクエリからのデータを取り込みたいですSQLクエリから返される各レコードを反復することなく。 ADO.NETまたはエンタープライズライブラリを使用して行うことができるものがありますか(より望ましい)。

+0

エンティティフレームワークを使用できない理由はありますか? – Jakotheshadows

+0

クラスを含めることができれば、特にコレクションのためにどのような種類のものを使用すればよいでしょうか。 – Svek

+0

@Jakotheshadows:昔のプロジェクトでエンタープライズライブラリの –

答えて

0

LINQのjoinを使用してください。

var innerJoinQuery = 
    from car in cars 
    join part in parts on car.Id equals part.CarId 
    join subPart in subParts on part.Id equals subPart.PartId 
    select new { 
     CarId = car.Id, 
     CarName = car.Name, 
     PartsId = part.Id, 
     PartsName = part.Name, 
     SubPartsId = subPart.Id, 
     SubPartsName = subPart.Name 
    }; 
+0

が必要ですストアドプロシージャから各自のエンティティにデータを取り込みます。 –