-7

我写这个 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,请帮助我。谢谢大家。

4

1 回答 1

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)

(注意我的头顶 - 可能需要稍微纠正)。

于 2012-11-05T10:13:56.107 回答