linq - как объединить условия в операторе соединения - PullRequest
0 голосов
/ 09 июля 2009

я работаю с xml и linq.

У меня есть 2 xml-файла, оба содержат «ID» и «LANGUAGE»

Я хочу сделать объединение, основанное на том, где и ID, и LANGUAGE равны в обоих файлах У меня есть что-то вроде этого:

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?

Ответы [ 2 ]

2 голосов
/ 09 июля 2009

Анонимные типы на помощь.

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 ... ;
0 голосов
/ 09 июля 2009

попробуйте объединение, чтобы получить оба списка и присоединиться к ним

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...