求助!关于LINQ选取两表关联的全部字段的问题

International_novice 2014-12-22 10:33:44
先附上代码如下:

DataTable dtN = new DataTable();
DataSet ds = new DataSet();
IEnumerable<DataRow> result =
from c in dt2.AsEnumerable()
join p in dt1.AsEnumerable()
on new { ID = dt2.Columns[3], NAME = dt2.Columns[4], ACCOUNT = dt2.Columns[5], DATE = dt2.Columns[6], AMOUNT = dt2.Columns[7] }
equals new { ID = dt1.Columns[5], NAME = dt1.Columns[6], ACCOUNT = dt1.Columns[7], DATE = dt1.Columns[8], AMOUNT = dt1.Columns[9] }
into rightjoin
from p in rightjoin.DefaultIfEmpty()
select c;
dtN = result.CopyToDataTable<DataRow>();

运行完上面代码,dtN输出表字段和dt2一样。按设计要求,我需要获取dt1和dt2进行右关联后的全部字段,请问我应该怎样修改上面的代码?还请各路大侠附上代码说明,小弟拜谢啦
...全文
275 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
2张表能确定的字段只有用来关联的那5个字段,用户可以增删2表的其他字段。这种情况不能逐个写出要选的字段把...
  • 打赏
  • 举报
回复
2张表能确定的字段只有用来关联的那5个字段,用户可以增删2表的其他字段。这种情况不能逐个写出要选的字段把...
bdmh 2014-12-22
  • 打赏
  • 举报
回复
引用 3 楼 International_novice 的回复:
请问楼上,我需要的是2两表关联的全部字段,“XXX”要怎么写?像这样写:select new {c=rightjoin.?}吗?
c里有什么,你就挨个写c的字段
  • 打赏
  • 举报
回复
请问楼上,我需要的是2两表关联的全部字段,“XXX”要怎么写?像这样写:select new {c=rightjoin.?}吗?
exception92 2014-12-22
  • 打赏
  • 举报
回复
如果需要返回新类,就定义一个类,字段为你要查询出的所有字段。根据1楼方式, select new newClass{ c1 = c.xxx, p1 = p.xxx } 如果不需要,1楼方式即可。
bdmh 2014-12-22
  • 打赏
  • 举报
回复
select c 改为 select new { a=c.xxx, b=c.xxxx, c=c.xxxxx ...... };
  • 打赏
  • 举报
回复
就是我想要rightjoin这里面的所有字段,要怎么写代码?

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧