LINQ mais simples para xml consultas com o DLR
-
28-09-2019 - |
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
Solução
Esta postagem do blog explora um pouco usando ExpandoObject
nos cenários LINQ para XML.