我有一个关于 Linq to XML 查询的问题,以及我们如何使用新的动态关键字使它们更具可读性。
目前我正在写这样的东西:
var result = from p in xdoc.Elements("product")
where p.Attribute("type").Value == "Services"
select new { ... }
我想写的是这样的:
var result = from p in xdoc.Products
where p.Type == "Services"
select new { ... }
我知道我可以使用 Linq to XSD 来做到这一点,这已经很不错了,但显然这需要一个 XSD 架构,而我并不总是有一个。
我确信应该有一种方法可以使用 .NET 4.0 的新动态功能来实现这一点,但我不确定如何或是否有人已经尝试过。
显然我会失去 Linq to XSD 的一些优点(类型化成员和编译时间检查),但它不会比原始解决方案差,而且肯定会更具可读性。
有人有想法吗?
谢谢