如何将左连接sql查询转换为linq到sql

时间:2017-09-27 09:24:52

标签: sql entity-framework linq

我在SQL中有以下查询。我想要从linq到sql的相同操作。

select count(bs.sampleId),s.sampleCode from prod.Samples s
LEFT join prod.BlockedSamples bs on bs.sampleId = s.sampleId
group by s.sampleCode
having count(bs.sampleId)>0

这两个表之间的关系是1对多。 1个样本可以在阻止样本中有多个条目。

2 个答案:

答案 0 :(得分:2)

怎么样?
from s in context.Samples 
    join bs in context.BlockedSamples  on s.sampleId 
    equals bs.sampleId into  ps
    from p in ps.DefaultIfEmpty()
 group p by s.sampleCode into grouped where grouped.Count(t=>t.sampleId  != null)>0
 select new {key=grouped.Key,Count = 
 grouped.Count(t=>t.sampleId  != null)}

答案 1 :(得分:0)

对于将SQL转换为LINQ的这一和未来的努力,您可以使用:

sqltolinq