我写这个tsql查询
((SELECT Id,[Mesc]
,[Line]
,[Unit]
,[Discription]
,[InvQty]
,[LastDateNil]
,[StCode]
,[PlanCode]
,[MIN]
,[MAX]
,[LastDateConsum]
,[PbsNo]
,[PbsDate]
,[PbsQty]
,[PbsQtyRec]
,[DateDelay]
,[TypeRequest]
,[HeaderId]
FROM [MyMaterialDB].[dbo].[Report2]
WHERE headerid IN(SELECT HeaderId FROM [MyMaterialDB].[dbo].[Report2] WHERE line='I'))
Order by Mesc,Line,unit
我想将此转换为linq,但我是linq中的biginet,请帮助我。谢谢大家。
答案 0 :(得分:3)
除非是拼写错误,否则不需要内部选择:
SELECT [Id], [Mesc], <etc>
FROM [MyMaterialDB].[dbo].[Report2]
WHERE line='I'
ORDER BY Mesc,Line,unit
所以你的LINQ会是这样的:
report2
.Select(x => new { x.Id, x.Mesc, <etc> })
.Where(x => x.line == "I")
.OrderBy(x => x.Mesc)
.ThenBy(x => x.Line)
.ThenBy(x => x.unit)
(NB偏离我的头顶 - 可能需要略微纠正)。