0
I가 내가 개체에 deserialise하는 데 필요한 다음 XML : 나는 임시 객체를 사용한다는 것을이 LINQ 쿼리를 최적화하는 방법은 무엇입니까?
private Animal GetAnimalFromXML(string xml)
{
var tempdata = (from c in data.Elements("collection")
select new
{
Cat = (string)c.Element("cat"),
Dog = (string)c.Element("dog"),
VetName = (string)c.Element("vetName"),
}).First();
return new Animal(){
Cat = tempdata.Cat,
Dog = tempdata.Dog,
VetName = tempdata.VetName
}
}
내가 좋아하지 않는다 : 이것은 LINQ를 사용하여 내 시도
<animals>
<retrive>true</retrive>
<collection>
<cat>big</cat>
<dog>spot</dog>
<vetName>John Smith</vetName>
</collection>
</animals>
그래서이 문제를 해결하고이 방법을 단 하나의 쿼리로 줄이는 것이 가능한지 궁금합니다.
감사합니다. d.
를 사용할 필요가 없습니다. 더 나은 방법은 Single을 사용하여 그 결과로 작업하는 것입니다. –
@Petr - 컬렉션에 요소가 하나만 있다는 것을 어떻게 알 수 있습니까? Perheps 요구 사항은 "컬렉션에서 첫 번째 레코드 가져 오기"입니다. – Jamiec
@ Jamiec First method가 원래의 _collection_ 요소가 아닌 전체 변형 된 콜렉션에서 호출 되었기 때문에 그렇게 생각합니다. 많은 사람들로부터 첫 번째 _collection_을 선택해야 할 필요가 있다면, First collection을 선택하는 것이 더 효과적입니다. –