Linq左边加入像桌子一样

时间:2011-07-12 01:07:07

标签: linq left-join

我有2个相同结构的数据表,我需要找到第一个出现的所有记录,而不是第二个出现的记录。更复杂的是匹配需要在3列而不是1列。

背景 - 我正在编写一个复制过程,其中数据行到达XML事务,并且需要与“主机”数据库进行匹配,以确定是否有任何需要添加的项目。基本算法如下:

  1. 在包含多个数据表的事务数据集中加载
  2. 创建新数据表并使用本地数据库中的“主机”条目填充
  3. 在它们之间运行匹配以找出哪些是“新”记录
  4. 遍历所说的“新”记录并在数据库中创建对象。
  5. 我在LINQ中看到了许多LEFT JOIN的例子,但我似乎找不到任何能满足我需求的东西。如果将表连接在一列上会很容易,但不幸的是情况并非如此......

    任何帮助都将不胜感激。

    谢谢,

1 个答案:

答案 0 :(得分:1)

请参阅Microsoft的101 LINQ Samples。有一个LEFT OUTER JOIN示例可以帮助您。