이 LINQ 문을 Lambda
표현식으로 변환하려고합니다.where 절이있는 LINQ lambda
totalTickets = context.EventParentSponsors
.Join(context.EventSponsors,
parent => parent.EventSponsorId,
sponsor => sponsor.EventSponsorId,
(parent, sponsor) => new { sponsor.InvitationCount })
.Where(o => o.EventParentSponsors.ParentSponsorId).FirstOrDefault();
을하지만 난 실종 무엇이 오류
AnonymousType#1' does not contain a definition for 'EventParentSponsors'
and no extension method 'EventParentSponsors' accepting a first argument of type 'AnonymousType#1' could be found
를 얻을 :
totalTickets = (from parent in context.EventParentSponsors
join sponsor in context.EventSponsors
on parent.EventSponsorId equals sponsor.EventSponsorId
where parent.ParentSponsorID == parentId
select sponsor.InvitationCount).FirstOrDefault();
이것은 내가 지금까지 가지고 무엇인가?
... .Join에서 부모 스폰서 ID를 버렸기 때문에 .Where 절에서 필터링 할 수 없습니다. .Join 앞에 .Where 절을 옮겨서 먼저 필터를 수행 할 수도 있습니다. (덧붙여 결과는'totalTickets'라고 부릅니다. 그러나 이것은 합계가 아닙니다 - 맞습니까?) – Rup
답장을 보내 주셔서 감사합니다.하지만 x.InvitationCount가 아니라'x.Count'가 아니길 원합니다. – Imad
@SMI 그는 중간에있는 익명 유형의 Count로 InvitationCount의 이름을 변경했습니다. 이는 동일한 것이어야합니까? 원하는 경우 'InvititationCount = x.InvitationCount'로 변경할 수 있습니다. – Rup