我正在使用Scott Gu的Linq到XMl的动态linq库。问题是我不知道如何在动态查询中引用元素本身值。
我想做的事情如下:
var doc = XDocument.Load("test.xml");
var ret = doc.Descendants("Row").Where(x => x.Element("ID").Value == "2").ToList();
我想将where子句替换为动态linq,但我不知道应该如何重写它。我尝试如下:
var ret = doc.Descendants("Row").Where("Element(""ID"").Value == @0", "2").ToList();
但它给了我一个错误,说“没有名为Element的属性”或其他什么。
有人可以告诉我该怎么做吗?
提前致谢, 柳
答案 0 :(得分:0)
好的,我做了一招。这不是很好,但有效。它可能会导致性能问题,但就目前而言,没关系。
var doc.Descendants("Row").Select(x => x.Element("ID").Value).Where("Value == @0", "2").Select(x => x.Parent).ToList();
如果您有更好的解决方案,请在此处发布。
谢谢, 柳