为了账号安全,请及时绑定邮箱和手机立即绑定

如何从复杂的 SQL 创建 LINQ?

如何从复杂的 SQL 创建 LINQ?

C#
白猪掌柜的 2021-09-19 19:03:08
我有这个 SQL 查询: SELECT D.ID FROM Documents AS D INNER JOIN DocClasses AS DC WITH (NOLOCK)  ON D.DocClass = DC.ID INNER JOIN DocSubClasses AS DSC WITH (NOLOCK)  ON D.DocSubClass = DSC.ID AND DSC.DocClassID = DC.ID INNER JOIN DocPathFolders AS F WITH (NOLOCK)  ON D.DocPathFolderID = F.ID WHERE     DC.ShortName = 'PAY' AND DSC.Name = 'xxxxx'     AND UPPER(F.Description) = 'READY TO SEND'我正在尝试将此查询转换为 LINQ。这是我到目前为止所做的: from D in ctx.Documents join DC in ctx.DocClasses on D.DocClass equals DC.ID join DSC in ctx.DocSubClasses      on new { D.DocSubClass, DSC.DocClassID } equals new { DSC.ID, DC.ID } join F in ctx.DocPathFolders      on D.DocPathFolderID equals F.ID where      DC.ShortName == "PAY"      && DSC.Name == "xxxxx"      && (F.Description).ToUpper() == "READY TO SEND" select D.ID;我在这一行遇到错误:join DSC in ctx.DocSubClasses on new { D.DocSubClass, DSC.DocClassID } equals new { DSC.ID, DC.ID }在这里,我收到以下错误:名称“DSC”不在“等于”左侧的范围内名称“DC”不在“等于”右侧的范围内我是 LINQ 的新手,这就是我无法解决这些错误的原因。我想对上述任何建议。谢谢。
查看完整描述

3 回答

  • 3 回答
  • 0 关注
  • 182 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信