Pergunta

Tenho uma pergunta sobre as consultas LINQ para XML e como poderíamos torná -las mais legíveis usando a nova palavra -chave dinâmica.

No momento, estou escrevendo coisas como:

var result = from p in xdoc.Elements("product")
             where p.Attribute("type").Value == "Services"
             select new { ... }

O que eu gostaria de escrever é algo como:

var result = from p in xdoc.Products
             where p.Type == "Services"
             select new { ... }

Sei que posso fazer isso com o LINQ para XSD, o que já é muito bom, mas obviamente isso requer um esquema XSD e eu nem sempre tenho um.

Tenho certeza de que deve haver uma maneira de conseguir isso usando os novos recursos dinâmicos do .NET 4.0, mas não tenho certeza de como ou se alguém já teve uma chance.

Obviamente, eu perderia algumas das vantagens do LINQ para o XSD (membros digitados e compilou verificações de tempo), mas não seria pior que a solução original e certamente seria mais legível.

Alguém tem uma ideia?

Obrigado

Foi útil?

Solução

Esta postagem do blog explora um pouco usando ExpandoObject nos cenários LINQ para XML.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top