我有一个简单的LINQ语句,它返回基于查询Xml文件的对象列表。LINQ返回条件对象
var locations = from s in xdoc.Descendants("RECORD")
where IdList.Contains(s.Element("ID1").Value)
select new Location
{
Id = s.Element("ID1").Value
};
每个Xml记录还有一个ID2元素,如果“Contains”为true,我想返回该ID2元素。所以基本上,我希望我的Location对象是基于IdList Contains返回的内容(它可以是ID1或ID2)。类似于:
if(IdList.Contains(s.element("ID1").value){ select new Location {Id = s.Element("ID1").Value};}
if(IdList.Contains(s.element("ID2").value){ select new Location {Id = s.Element("ID2").Value};}
这可以在单个LINQ语句中完成吗?
感谢您的回答。我继续前进,只是使用了两条LINQ语句,然后合并了结果。我的对象包含了很多项目,所以三元语句非常冗长。 – kittyhawk 2011-04-14 20:48:13