Entity framework 如何表示为实体框架查询
如何将其表示为实体框架查询语法Entity framework 如何表示为实体框架查询,entity-framework,asp.net-mvc-4,Entity Framework,Asp.net Mvc 4,如何将其表示为实体框架查询语法 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,m
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`
这应该是可行的,但还没有经过测试。你可能想调查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}
我试过了,但我知道下一步在group by:var query=from mp in model.matiere\u premiere join req in from stk in model.stock\u mp join ms in model.matiere\u premiere on stk.matiere\u premiere\u code等于ms.code,其中,mp.code上的stk.date选择new{stk.qte,stk.matiere_premiere_code}等于req.matiere_premiere_code group mp by new{mp.code}进入grp orderby grp。键选择new{grp.Key,grp.First.designation,};model是上下文您可以使用Linq表达式或Lamba表达式在实体框架中编写查询。