请教一个linq 多表连接的问题

ahking 2017-03-17 09:00:56
四个表
t1,t2,t3,t4
共有的字段是rq(日期),还各有各自的字段,f1_1,f1_2.....,f2_1......f4_1.......
我想把这四个表连接起来,以t1为准,按照rq字段相同,如果表t2,t3,t4对应日期没有相关记录,则对应的字段为空,该怎么做呢?
...全文
245 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
xdashewan 2017-03-20
  • 打赏
  • 举报
回复
引用 9 楼 ahking 的回复:
内联的话,如果t2没有某天的数据,这天的整个数据都没有了,跟需求不符啊
那就用DefaultIfEmpty()左联就行了,例子给你了
peng2739956 2017-03-17
  • 打赏
  • 举报
回复

var Result=from t in t1
                     join t1 in t2 on t1.rq equals t.rq
                     join t2 in t3 on t2.rq equals t1.rq
                     join t3 in t4 on t3.rq equals t2.rq
                     select {//you need..}
xdashewan 2017-03-17
  • 打赏
  • 举报
回复
参考http://blog.csdn.net/longer123123/article/details/3954467中示例2
ahking 2017-03-17
  • 打赏
  • 举报
回复
引用 8 楼 xdashewan 的回复:
[quote=引用 7 楼 ahking 的回复:] 我看了很多,都加了.DefaultIfEmpty(),不太明白为什么
内联不用,左联的时候要用,参考http://blog.csdn.net/jjp837661103/article/details/8101219[/quote] 内联的话,如果t2没有某天的数据,这天的整个数据都没有了,跟需求不符啊
xdashewan 2017-03-17
  • 打赏
  • 举报
回复
引用 7 楼 ahking 的回复:
我看了很多,都加了.DefaultIfEmpty(),不太明白为什么
内联不用,左联的时候要用,参考http://blog.csdn.net/jjp837661103/article/details/8101219
ahking 2017-03-17
  • 打赏
  • 举报
回复
引用 6 楼 xdashewan 的回复:
[quote=引用 4 楼 ahking 的回复:] 这个为空不用处理么?
不用特殊处理[/quote] 我看了很多,都加了.DefaultIfEmpty(),不太明白为什么
xdashewan 2017-03-17
  • 打赏
  • 举报
回复
引用 4 楼 ahking 的回复:
这个为空不用处理么?
不用特殊处理
plcly1 2017-03-17
  • 打赏
  • 举报
回复
ahking 2017-03-17
  • 打赏
  • 举报
回复
引用 1 楼 xdashewan 的回复:
参考http://blog.csdn.net/longer123123/article/details/3954467中示例2
这个为空不用处理么?

110,537

社区成员

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

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

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