linq合并集合

这个月太忙没时间看C++ 2017-06-23 11:20:57
var balance1 = from b in balance
join ***** 很多表
select new
{
Number = b.Number, //编号
name = l.name
};

var balance2 = from b in balance1
join ***** 很多表
select new
{
Number = b.Number, //编号
bala=g.bala,
};

var balance3 = from b in balance2
join ***** 很多表
select new
{
Number = b.Number, //编号
name = h.name //与balance1中name对应
grad = j.grad //一个name最多对应一个,可能有的name没有grad
};

根据需求我查出了这三个集合,其中balance1 是主表,所有字段都要显示,我要看出balance1 字段+balance2 中的bala,+balance3 中的grad
...全文
316 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
秋的红果实 2017-06-29
  • 打赏
  • 举报
回复
引用 2 楼 fsdad 的回复:
var bala = from b in balance1 from b1 in balance2 from b2 in balance3 select new { Number = b.Number, name = b.name bala = b1. bala grad = b2.grad }; 这个方法试过了 查出来的结果是内联,不是以balance1为主的,用左联也试过,也是报错提示已有打开的与此 Command 相关联的 DataReader,必须首先将它关闭。
command用完了要dispose();
秋的红果实 2017-06-29
  • 打赏
  • 举报
回复
Number,是不是balance1,balance2的外键? balance1中没有name,这样,balance1和另外两个就扯不上关系了
  • 打赏
  • 举报
回复
var bala = from b in balance1 from b1 in balance2 from b2 in balance3 select new { Number = b.Number, name = b.name bala = b1. bala grad = b2.grad }; 这个方法试过了 查出来的结果是内联,不是以balance1为主的,用左联也试过,也是报错提示已有打开的与此 Command 相关联的 DataReader,必须首先将它关闭。
  • 打赏
  • 举报
回复
var balance3 = from b in balance1 from b in balance1 join ***** 很多表 select new { Number = b.Number, //编号 name = h.name //与balance1中name对应 grad = j.grad //一个name最多对应一个,可能有的name没有grad };
  • 打赏
  • 举报
回复
自己顶,求大神指导一下

8,494

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 LINQ
社区管理员
  • LINQ
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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