나는 내 질문이 Linq에 문의 지연된 실행에 대한 인 IEnumerable<KeyValuePair<int, string>>
Linq : XML을 IEnumerable <KeyValuePair <int, string>> 지연 실행 하시겠습니까?
<PROJECT PROJECT_NO="161917">
<CONTACT CLIENT_ID="030423253272735482765C" CONTACT_NO="1">
<ROLE ROLE_ID="2" ROLE_DESC="ARCHITECT" />
<ROLE ROLE_ID="5" ROLE_DESC="INTEGRATOR" />
</CONTACT>
</PROJECT>
private static ProjectContact BuildProjectContactFromXml(XElement xml)
{
ProjectContact projectContact = new ProjectContact();
projectContact.ProjectId = SafeConvert.ToInt32(xml.Attribute("PROJECT_NO").Value);
projectContact.Roles = xml.Elements()
.First()
.Elements()
.Select(role => new KeyValuePair<int, string>(
SafeConvert.ToInt32(role.Attribute("ROLE_ID").Value),
role.Attribute("ROLE_DESC").Value));
return projectContact;
}
에 아래 Roles
를 꺼내려고 해요. 이 ProjectContact를 반환하면 Linq 문이 아직 실행되지 않았다는 것을 이해합니다. 누군가이 역할에 액세스하려고 할 때가 아니라이 방법으로이 명령문을 강제로 실행하는 방법이 있습니까? 나는 그것이 .Count()를 호출하여 명령문을 강제로 실행할 수 있다고 생각하지만 더 나은 방법이 있어야하는 것처럼 보입니다.
죄송합니다. 질문이 끝나지 않아 게시되었습니다. 내 질문을 작성하는 것을 끝내겠다. :) – JSprang
자, 이제 질문이있다. – JSprang
역할은 IEnumerable>입니다. 죄송합니다. –
JSprang