J'ai suivi la question sur la question que je posais hererequête LINQ to SQL sous-requête
ici sont tous mes Linq requête
Ceci est la requête 1:
var RCode = from a in DbEntity.MobileAssetDowntimeReasonCodes
where a.MobileAssetCategoryId.Equals(reasonCode)
select new
{
a.JdeReasonCode
};
ReasonCode.DataSource = RCode.ToList();
ReasonCode.DataBind();
cette apporte une les codes résultants qui sont affichés dans DataGrid.
ici est la requête 2, qui travaille également
var RJDEReasonCode = from a in JDETable.F0005
where
a.DRSY.Equals("00") &&
a.DRDL01 != null &&
(a.DRRT.Equals("W4") ||
a.DRRT.Equals("W5")) &&
a.DRKY.Trim() == "801"
select new
{
CATEGORY_CODE = a.DRRT,
REASON_CODE = a.DRKY,
DESCRIPTION = a.DRDL01
};
Mais au lieu de coder en dur « 801 » Je veux passer le résultat de l'query1 pour interroger 2 et affichage requête 2 résultats dans mon DataGrid. comment je fais ça ?
La requête # 1 renvoie-elle «801»? Essayez 'a.DRKY.Trim() == RCode.FirstorDefault(). JdeReasonCode' –
requête on retourne une liste de codes tels que 801, 802,803 et je veux exécuter chaque code dans la deuxième requête pour obtenir les détails de ce code et affichez – user2315840
Vous pouvez faire cela en boucle, et concaténer les résultats de chaque itération à une seule collection. Ou vous pourriez modifier votre déclaration LINQ pour être quelque chose de similaire à: 'RCode.Contains (a.DRKY.Trim())' –