C#代码中实现两个表(DataTable)的关联查询(JOIN)代码如下
请问怎么实现2个或两个以上字段的关联???
(两个方案的思路都可以)
 
//方案一
            var query1 =
                from rHead in dtHead.AsEnumerable()
                from rTail in dtTail.AsEnumerable()
                where rHead.Field<Int32>("GoodID") == rTail.Field<Int32>("GoodID")
                select new 
                {
                    GoodID = rHead.Field<Int32>("GoodID"),
                    GoodName = rHead.Field<String>("GoodName"),
                    Num = rTail.Field<Int32>("Num"),
                    Money = rTail.Field<Int32>("Money")
                };            DataTable dtNew = DtAll.Copy();
            foreach (var obj in query1)
            {
                dtNew.Rows.Add(obj.GoodID, obj.GoodName, obj.Num, obj.Money);
            }            //方案二
            var query =
                from rHead in dtHead.AsEnumerable()
                join rTail in dtTail.AsEnumerable()
                on rHead.Field<Int32>("GoodID") equals rTail.Field<Int32>("GoodID")
                select rHead.ItemArray.Concat(rTail.ItemArray.Skip(1));            foreach (var obj in query)
            {
                DataRow dr = DtAll.NewRow();
                dr.ItemArray = obj.ToArray();
                DtAll.Rows.Add(dr);
            }