我有一个稍微复杂的 SQL 查询,我正在尝试将其转换为 LINQ 表达式语法,因为这是我们用于代码库的语法。不过,网上的每个人似乎都使用查询语法,这使得找到正确答案变得相当困难。
查询如下,并准确返回我所追求的(可能有更好的方法来做这个查询,请随时提出建议);
SELECT e.*, ce.Certificate_ID
FROM FCERTSTest.dbo.Entities AS e
INNER JOIN FCERTSTest.dbo.RequirementEntries AS re
ON re.Position_ID = e.EntityPosition_ID
LEFT JOIN FCERTSTest.dbo.CertificateEntries AS ce
ON ce.Entity_ID = e.EntityID AND ce.Certificate_ID = re.Certificate_ID
WHERE ce.Certificate_ID IS NULL
问题是转换这个。到目前为止,我所拥有的是;
List<Entities> unqualified = new List<Entities>();
unqualified = Entities.Join(RequirementEntries,
ent => ent.EntityPosition_ID,
req => req.Position_ID,
(ent, req) => ent).ToList();
我从互联网上提取的...老实说,我 100% 不理解查询,但它得到了 Entity who's Position has a Requirement,这就是它的意思。
所以最后,如果有人可以帮助我转换 SQL 语句的其余部分,将不胜感激。