Ich bin derzeit versucht, die folgende SQL-Abfrage zu konvertieren:Convert SQL-Abfrage mit INNER JOIN, GROUP BY, ORDER BY und MAX(), um LINQ
SELECT ref.pa_nbr, MAX(ins.ins_id)
FROM referral ref
INNER JOIN ins i ON ref.referral_nbr = i.referral_nbr
INNER JOIN pm p ON i.pm_nbr = p.pm_nbr AND p.pm_group = 2
WHERE ref.pat_nbr = @pat_nbr
GROUP BY ref.pat_nbr
ORDER BY ref.pat_nbr
in einen LINQ Ausdruck. Ich habe mehrmals versucht, aber nicht die richtigen Ergebnisse erhalten. Der neueste Versuch kann im folgenden zu sehen:
var medicaidNumber =
(from referral in context.REFERRALs
join ins in context.INSs on referral.REFERRAL_NBR equals ins.REFERRAL_NBR
join pm in context.PMs on ins.PM_NBR equals pm.PM_NBR
where referral.P_NBR == patid && pm.PM_GROUP == 2
orderby referral.PAT_NBR
group referral by referral.PAT_NBR).FirstOrDefault();
Könnte jemand einen Blick auf das, was ich tue, und sehen, ob es einen anderen Weg, um dies zu realisieren? Jede Hilfe wird geschätzt.
Woher kommt 'ind' in Ihrem sql? Oder ist das ein Tippfehler für "ins"? – juharr
Woher kommt die medicaidNumber? Sie müssen das am Ende Ihrer linq Abfrage auswählen, bevor Sie FirstOrDefault anrufen –
Das sollte ins sein, es war ein Tippfehler – CodePull