System.LINQ双内连接?

时间:2018-05-03 16:33:24

标签: c# sql linq

我试图从XY表中获取所有X. X是表,Y是表,XY是XREF表。

以下代码是我的尝试。但是我出于某种原因不能加倍加入?任何System.LINQ专业人员都可以帮助我理解XREF表在System.LINQ中的工作原理吗?

public async Task<List<FunctionModel>> GetFunctionsByTestCaseID(string pID, CancellationToken pCancellationToken)
{
    pCancellationToken.ThrowIfCancellationRequested();

    return await (from F in Context.Functions
        join TS in Context.TestSteps on F.ID equals TS.FunctionID
        join X in Context.XREF_TestCases_TestSteps on TS.ID equals X.TestStepID
        where X.TestCaseID == pID
        select F).ToListAsync();         
}

ERROR:

  

CS1941 join子句中的一个表达式的类型是   不正确。调用“加入”时类型推断失败。

更新:

这是等效的SQL语句,可能会解决问题。

SELECT * FROM dbo.Functions F
INNER JOIN dbo.TestSteps TS ON TS.FunctionID = F.ID
INNER JOIN dbo.XREF_TestCases_TestSteps X ON X.TestStepID = TS.ID
WHERE X.TestCaseID = 1

0 个答案:

没有答案