我有这个 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
提交
取消