Linq 的Join多条件

本文介绍了在Linq中实现带有多个条件的Join操作的两种方法:一种是通过重新使用from子句;另一种则是利用匿名类来定义复杂的匹配条件。这两种方式能够帮助开发者更灵活地进行数据关联。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天遇到了这个问题,在网上查了资料,大部分都推荐了这2种方法

在linq 的join后面加上多个条件。

第一种是直接用重新from 

from u in table1
                       from s in table2
                       where u.id == s.id || u.id == s.sid
                       select new { };

他生成的sql 语句就是

WHERE [Extent1].[ShopId] IN ([Extent2].[ShopId],[Extent2].[HeadShopId]) 这样的

还有一种用匿名类

var da = from u in table1
                     join s in table2 on new { ss1 = u.id, ss = u.id } equals new { ss1 = s.id, ss =s.sid }
                     select new { };

这样生成的sql语句就是 And


使用匿名类时注意2个条件的数据类型要一一对应

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值