-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 が苦手なので、助けてください。皆さんありがとう。

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)

(私の頭の上からNB - 少し修正する必要があるかもしれません)。

于 2012-11-05T10:13:56.107 に答える