我尝试使用Lambda表达式进行复杂查询(而不是我)。我有我想要“翻译”到Lambda的SQL。在Lambda表达式中使用Max,Group By,Join和Where
SELECT MAX((SUBSTRING(tbp.dt,4,4)+SUBSTRING(tbp.dt,2,2)+SUBSTRING(tbp.dt,1,2))) as Dt,
tb._n, tbp.number, tbp.dsc
FROM TB_A tb
JOIN TB_B_C tbp ON tbp.number = tb.number
WHERE tbp.rec = 0 AND tbp.processing = 0 AND tb._n != '' AND tbp.error = 0
GROUP BY tb._n, tbp.number, tbp.dsc
到现在为止我有这样的Lambda表达式:
var results = db.a
.Join(db.b_c, proc => proc.number, andam => andam.number, (proc, andam) => new { proc, andam })
.Where(d => d.proc._n != "" && d.andam.rec == false && d.andam.processing == false && d.andam.error)
.ToList();
我要如何完成我的选择有相同的结果SQL查询?如果可能,你可以解释在将查询翻译成Lambda时如何正确思考?
非常感谢。
你问我们你错过了什么,先告诉我们它有什么问题。 –
这也有助于查看您的实体。例如,如果你有一个从'a'到'b_c'的导航属性,那么你不需要进行连接。 – juharr
@TimSchmelter谢谢!我改变了我提出问题的方式! –