我有三张桌子:
汽车
零件
子部分
现在我想从所有三个表中获取数据,通过执行内连接很容易,我可以很容易地得到它。我的SQL查询是
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
在C#中我拥有与表列相同属性的相同实体,并且与表的名称相同,现在我想在三个不同实体中填充来自单个查询的数据,而不迭代从中返回的每个记录SQL查询。是否可以使用ADO.NET或Enterprise Library(更优选)。
答案 0 :(得分: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
};