首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在linq查询中设置内部连接

如何在linq查询中设置内部连接
EN

Stack Overflow用户
提问于 2021-05-12 20:06:41
回答 2查看 366关注 0票数 0

我想在linq查询中设置内部联接

这是我的密码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var JoinUsingMS = from emp in _productRepository.Table
   join address in _purchaseReminderRepository.Table
  on new { c1 = emp.VendorId, c2 = emp.Name } equals new { c1 = address.VendorId, c2 = address.Product } into bp_sm
   from c in bp_sm.DefaultIfEmpty()
   where emp.Published == true
   select emp;

从这个查询中,我得到了join (通过调试跟踪)。虽然我认为是这样,但是这个查询对于内部连接) (引用链接仍然输出左连接)来说是完美的。

EN

回答 2

Stack Overflow用户

发布于 2021-05-12 22:28:26

下面是内部联接的更新查询:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var JoinUsingMS = from emp in _productRepository.Table
   join address in _purchaseReminderRepository.Table
   on new { c1 = emp.VendorId, c2 = emp.Name } 
   equals new { c1 = address.VendorId, c2 = address.Product }
   where emp.Published == true
   select emp;
票数 0
EN

Stack Overflow用户

发布于 2021-05-13 15:43:29

很简单。删除DefaultIfEmpty行。这就是创建左联接子句的原因:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var JoinUsingMS = 
    from emp in _productRepository.Table
    join address in _purchaseReminderRepository.Table
      on new { c1 = emp.VendorId, c2 = emp.Name } equals new { c1 = address.VendorId, c2 = address.Product } // into bp_sm
    // from c in bp_sm.DefaultIfEmpty()
    where emp.Published == true
    select emp;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67513761

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文