linq join on 后多个条件怎么写

sbsb174 2009-03-30 12:23:33
两个表用join连接,如:
var test = from o in table1
join p in table2
on table1.field1 equals table2.field1
此处还有一个连接条件怎么写,用&&吗,table1.field2 equals table2.field2
select o;
...全文
14051 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
永动bug制造机 2011-09-01
  • 打赏
  • 举报
回复
mark
q107770540 2010-10-28
  • 打赏
  • 举报
回复

var query= from cc in COPTC
join cd in COPTD
on new {cc.TC001,cc.TC002} equals new{ cd.TD001,cd.TD002}
into m
from n in m.DefaultIfEmpty()
join ma in MOCTA
on new{cd.TD001, cd.TD002,cd.TD003 } equals new{ ma.TA026,ma.TA027,ma.TA028}

where new char[]{'Y','y'}.Contains(ma.TA013)
&& new char[]{'Y','y'}.Contains(cc.TC027)
&& Convert.ToDateTime(ma.TA003) > Convert.ToDateTime("2010-07-20")
&& Convert.ToDateTime(ma.TA003) < Convert.ToDateTime("2010-12-31")
select new
{
cc,
cd
};
rusonghe 2009-04-24
  • 打赏
  • 举报
回复
var q=from a in table1
join b in table2
on a.field1 equals b.field1
join c in table2
on a.field2 equals c.field2
select a;
qqshenyunzcz 2009-04-11
  • 打赏
  • 举报
回复
不用&& 可以用add 吗
iwin32 2009-04-05
  • 打赏
  • 举报
回复
方法1:
2楼说的方法.
方法2:
on new{o.id,0.code} equals new {p.id,p.code}
方法3:
var tmp=from m in table1 from n in table2 where m.id==n.id && m.code==n.code select new{...};
方法4:
你把后面的条件放在where语句里面去.


yezie 2009-03-31
  • 打赏
  • 举报
回复
设置好外键就不用join了
比如table1主键,table2外键
dataclasses会自动关联两表
语句上是:table2.table1.id,就是table2可以直接访问主表table1,而不用join,哈哈
sbsb174 2009-03-30
  • 打赏
  • 举报
回复
怎么没人告诉我啊

8,492

社区成员

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

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