如何将此表示为实体框架查询语法?
SELECT matiere_premiere.`code`,
matiere_premiere.`designation`,
matiere_premiere.`unite`,
matiere_premiere.`frns` ,
IF(ISNULL(REQ.qte), '0.00', REQ.qte) AS qte
FROM matiere_premiere
LEFT JOIN (SELECT qte,matiere_premiere_code
FROM stock_mp JOIN matiere_premiere
ON matiere_premiere.`code` = matiere_premiere_code
WHERE DATE <= CURRENT_DATE()
ORDER BY DATE DESC
) AS REQ ON REQ.matiere_premiere_code = matiere_premiere.`code`
GROUP BY matiere_premiere.`code`
ORDER BY matiere_premiere.`code`
答案 0 :(得分:0)
这应该有效,但是未经测试。你可能想看看LinqPad
var now = DateTime.Now;
from m in matiere_preiere
join req in
(from s in stock_mp
join m2 in matire_preimere on s.code equals m2.matire_preiere_code
where s.Date <= now
select new {qte, matirere_premiere_code})
on req.matirere_premiere_code equals m.code into reql
from req in reql.DefaultIfEmpty()
order by m.code
select new {m.code, m.designation, m.unite,m.frns, qte=req.qte ?? 0.00}