J'ai une table dans SQL Server qui est structuré comme suit:L'utilisation de LINQ pour sélectionner des données hiérarchiques?
id Name Parent
-- ---- ------
1 foo null
2 bar 1
3 oof null
4 rab 3
.
.
.
J'ai besoin pour obtenir les données des deux lignes associées comme une ligne dans un DataTable .NET. Mon DataTable désiré ressemblerait à ceci:
Parent Child
------ -----
foo bar
oof rab
j'ai pu y parvenir en utilisant la requête suivante:
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
Mais je suis curieux de savoir s'il existe un moyen facile de le faire en utilisant LINQ? (Notre boutique utilise LINQ pour un accès plus la base de données)
Votre déclaration LINQ est ici un no-op ... pourquoi ne pas utiliser une jointure LINQ? –