我有以下 SQL 查询SELECT ob.PK_OBJETIVO,ev.NM_EVENTO,ifi.QT_NOTA_IMPACTO,imi.QT_NOTA_IMPACTO,ire.QT_NOTA_IMPACTO,(ifi.QT_NOTA_IMPACTO + imi.QT_NOTA_IMPACTO + ire.QT_NOTA_IMPACTO)/3 AS MediaFROM AVALIACAO_IMPACTO AS aiINNER JOIN EVENTO AS EV ON ev.PK_EVENTO = ai.FK_AVALIACAO_IMPACTO_EVENTOINNER JOIN OBJETIVO AS ob ON ob.PK_OBJETIVO = ai.FK_AVALIACAO_IMPACTO_OBJETIVOINNER JOIN IMPACTO_FINANCEIRO AS ifi ON ifi.PK_IMPACTO_FINANCEIRO = ai.FK_AVALIACAO_IMPACTO_IMPACTO1INNER JOIN IMPACTO_MISSAO AS imi ON IMI.PK_IMPACTO_MISSAO = AI.FK_AVALIACAO_IMPACTO_IMPACTO2INNER JOIN IMPACTO_REPUTACAO AS IRE ON IRE.PK_IMPACTO_REPUTACAO = AI.FK_AVALIACAO_IMPACTO_IMPACTO3WHERE ai.FK_AVALIACAO_IMPACTO_OBJETIVO IN(SELECT OBJ.PK_OBJETIVO FROM OBJETIVO AS OBJ WHERE OBJ.FK_OBJETIVO_PROCESSO = 3)我需要在 LINQ 查询中转换该查询,我尝试过:var queryImpactos = await _context.AvaliacaoImpacto .Where(e => _context.Objetivo.Select(o => o.ProcessoID).Contains(planoRiscos.Auditoria.ProcessoID)) .Include(e => e.Evento).Include(e => e.Objetivo) .Include(e => e.ImpactoFinanceiro).Include(e => e.ImpactoMissao).Include(e => e.ImpactoReputacao).ToListAsync();" planoRiscos.Auditoria.ProcessoID" 返回它所需要的,纯 SQL 查询的数字 3,但查询结果是返回AVALIACAO_IMPACTO表中的所有记录,但是我只需要表FK_OBJETIVO中AVALIACAO_IMPACTO存在a in的记录OBJETIVO,其中FK_PROCESSOinOBJETIVO等于传递的参数 ( planoRiscos.Auditoria.ProcessoID)。
1 回答
- 1 回答
- 0 关注
- 109 浏览
添加回答
举报
0/150
提交
取消