我有一个带有模拟数据值的 XElement。
我有一个查询 xml 的表达式:
Expression<Func<XElement, bool>> 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 并返回一个布尔值,标记该项目是否与查询匹配,我不确定如何向委托或 where 子句添加更多内容以标记类型。
此外,针对实体框架的实际功能的并行方法不存在此问题。LINQ-to-XML 版本有什么不正确的地方?