Emboîtés dans l'expression LINQ choisit, comment?
-
27-10-2019 - |
Question
Je ne sais pas comment travailler avec imbriquées dans LINQ sélectionne. Comment pourrais-je convertir cette expression à LINQ SQl?
Select i.ID, i.Impression,
(Select COUNT(ImpressionsId)
from DiaryImpressions
where DiaryPostsId = '2' AND ImpressionsId = i.ID) as Num from Impressions i
La solution
from ...
select new {
i.Id,
i.Impression,
Count = context.DiaryImpressions.Count(d => d.DiaryPostsId == 2 && d.ImpressionsId == i.Id)
}
Si vous associez vos objets correctement, vous pouvez utiliser directement les relations enfants:
Count = i.DiaryImpressions.Count(d => d.DiaryPostsId == 2)
Autres conseils
Seriously? DiaryPostsId is a string? Oh well...
from i in context.Impressions
select new {
i.ID,
i.Impressions,
Num = (from d in context.DiaryImpressions
where d.DiaryPostsId == "2"
&& d.ImpressionsId == i.ID
select d).Count()
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow