我在SQL Server中有一张表,结构如下:
id Name Parent
-- ---- ------
1 foo null
2 bar 1
3 oof null
4 rab 3
.
.
.
我需要从两个相关的行中获取数据,合并为一行放入 .NET DataTable 中。 我期望的DataTable应该长这样:
Parent Child
------ -----
foo bar
oof rab
我使用以下查询语句成功完成了此操作:
with temp as
(
SELECT 1 id,'foo' name, null parent
UNION
select 2,'bar', 1
UNION
SELECT 3,'oof', null
UNION
select 4,'rab', 3
)
SELECT t1.name parent, t2.name child
FROM temp t1
INNER JOIN temp t2
ON t1.id = t2.parent
但我很好奇是否有一种使用LINQ的简单方法来实现这一点?(我们的商店大多数数据库访问都使用LINQ)