我想在linq查询中设置内部联接
这是我的密码
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 (通过调试跟踪)。虽然我认为是这样,但是这个查询对于内部连接) (引用链接仍然输出左连接)来说是完美的。
发布于 2021-05-12 22:28:26
下面是内部联接的更新查询:
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;
发布于 2021-05-13 15:43:29
很简单。删除DefaultIfEmpty
行。这就是创建左联接子句的原因:
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;
https://stackoverflow.com/questions/67513761
复制相似问题