对 2 个 IEnumerable<XElement> 类型的文件执行内部联接
Perform Inner Join on 2 Files of type IEnumerable<XElement>
假设我有 2 个 IEnumerable<XElement
> 类型的文件。我将如何对他们执行内部加入 and/or 组加入?我尝试了以下方法,但 .Join 方法在 IEnumerable 上不起作用。任何帮助将不胜感激。
var innerjoin = file1.Join(file2, c => file1.Elements("OrderID"), o => file2.Elements("OrderID"), (c, o) => new { Customer = c, Order = o });
尝试网页中的以下代码:https://code.msdn.microsoft.com/LINQ-Join-Operators-dabef4e9。您可能想要加入实际 ID 号而不仅仅是元素名称。
var innerjoin = from f1 in file1.Elements("OrderID")
join f2 in file2.Elements("OrderID") on f1 equals f2
select new { file1, file2 };
假设 file1
和 file2
包含 IEnumerable<XElement>
,其中每个 XElement
都有一个子元素 OrderID
,您可以通过 OrderID
值是这样的:
var innerjoin = file1.Join(file2,
c => (string)c.Element("OrderID"),
o => (string)o.Element("OrderID"),
(c, o) => new {Customer = c, Order = o});
或使用等效的查询语法:
var innerjoin = from c in file1
join o in file2
on (string)c.Element("OrderID") equals (string)o.Element("OrderID")
select new {Customer = c, Order = o};
假设我有 2 个 IEnumerable<XElement
> 类型的文件。我将如何对他们执行内部加入 and/or 组加入?我尝试了以下方法,但 .Join 方法在 IEnumerable 上不起作用。任何帮助将不胜感激。
var innerjoin = file1.Join(file2, c => file1.Elements("OrderID"), o => file2.Elements("OrderID"), (c, o) => new { Customer = c, Order = o });
尝试网页中的以下代码:https://code.msdn.microsoft.com/LINQ-Join-Operators-dabef4e9。您可能想要加入实际 ID 号而不仅仅是元素名称。
var innerjoin = from f1 in file1.Elements("OrderID")
join f2 in file2.Elements("OrderID") on f1 equals f2
select new { file1, file2 };
假设 file1
和 file2
包含 IEnumerable<XElement>
,其中每个 XElement
都有一个子元素 OrderID
,您可以通过 OrderID
值是这样的:
var innerjoin = file1.Join(file2,
c => (string)c.Element("OrderID"),
o => (string)o.Element("OrderID"),
(c, o) => new {Customer = c, Order = o});
或使用等效的查询语法:
var innerjoin = from c in file1
join o in file2
on (string)c.Element("OrderID") equals (string)o.Element("OrderID")
select new {Customer = c, Order = o};