我有一个XElement,其中包含模拟数据的值.
我有一个表达式来查询xml:
Expression> simpleXmlFunction = b => int.Parse(b.Element("FooId").Value) == 12;
用于:
var simpleXml = xml.Elements("Foo").Where(simpleXmlFunction).First();
设计时错误是:
无法从用法中推断出方法'System.Linq.Enumerable.Where(System.Collections.Generic.IEnumerable,System.Func)'的类型参数.尝试明确指定类型参数'
提供给Where的委托应该接受一个XElement并返回一个bool,标记该项是否与查询匹配,我不知道如何向委托或where子句添加更多内容以标记该类型.
此外,针对实体框架的实际功能的并行方法没有此问题.LINQ-to-XML版本有什么不正确之处?
不要将simpleXmlFunction设为Expression
FuncsimpleXmlFunction = new Func (b => int.Parse(b.Element("FooId").Value) == 12);