Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# linq上两个数据表之间的左外联接_C#_.net_Linq_Left Join - Fatal编程技术网

C# linq上两个数据表之间的左外联接

C# linq上两个数据表之间的左外联接,c#,.net,linq,left-join,C#,.net,Linq,Left Join,我有两张桌子: id | code code | name ---------- ------------- 1 | 001 001 | first 2 | 002 002 | second 3 | 001 结果必须是 id | name ---------- 1 | fisrt 2 | second 3 | first 我的linq查询: var query = from content in result.Tables["Speci

我有两张桌子:

id | code      code | name
----------    -------------
1  | 001       001  | first
2  | 002       002  | second
3  | 001
结果必须是

id | name
----------
1  | fisrt
2  | second
3  | first
我的linq查询:

var query = from content in result.Tables["Special_Contents_Tree"].AsEnumerable()
            join iNames in result.Tables["Special_Contents_ItemNames"].AsEnumerable()
            on content.Field<Nullable<Int16>>("Code") equals iNames.Field<Nullable<Int16>>("Code") into outer
            from gr in outer.DefaultIfEmpty()
            select new
            {
              ID = (Int16)content["ID"],
              Name = gr["Name"]
            };

DataTable SpecialContent = new DataTable();
SpecialContent.Columns.Add("ID");
SpecialContent.Columns.Add("Name");
foreach (var q in query)
{
   SpecialContent.Rows.Add(q.ID, q.Name);
}

但是结果是错误的-result.Tables[Special\u Contents\u Tree].Rows.Count=323然后SpecialContent.Rows.Count应该是323,但是SpecialContent.Rows.Count=484。

您查看了结果吗?为什么会有更多的争吵?重复值?特殊内容树中的id和特殊内容项名中的代码是否唯一?@Uriel\u SVK我发现一个错误。你说得对。我的第二个表在代码列中包含重复的值。