C# linq-如何在join语句中组合条件

C# linq-如何在join语句中组合条件,c#,linq,xpath,C#,Linq,Xpath,我正在使用xml和linq 我有两个xml文件,都包含“ID”和“LANGUAGE” 我想根据ID和语言在两个文件中相等的位置进行连接 我有这样的想法: var data= from details in h_details.Descendants("ROW") join inst in instance.XPathSelectElements("//Row") on details.Element("ID").Value equals inst.XPathSelectElement("Fi

我正在使用xml和linq

我有两个xml文件,都包含“ID”和“LANGUAGE”

我想根据ID和语言在两个文件中相等的位置进行连接 我有这样的想法:

var data= 
from details in h_details.Descendants("ROW")

join inst in instance.XPathSelectElements("//Row")
on details.Element("ID").Value
equals inst.XPathSelectElement("Field[@Name=\'h_id\']").Value
and on details.Element("LANGUAGE").Value
equals inst.XPathSelectElement("Field[@Name=\'h_lang\']").Value

basically the "and" statement wont work, so how do i join based on 2 conditions?

尝试联合获取这两个列表,并将它们加入到救援的匿名类型中

var data=
  from details in h_details.Descendants("ROW")
  join inst in instance.XPathSelectElements("//Row")
  on new {
    x = details.Element("ID").Value,
    y = details.Element("LANGUAGE").Value
  } equals new {
    x = inst.XPathSelectElement("Field[@Name=\'h_id\']").Value,
    y = inst.XPathSelectElement("Field[@Name=\'h_lang\']").Value
  }
  select ... ;

这看起来像一个复制品