c# - System.LINQ 双内连接?
问题描述
我正在尝试从 XY 表中获取所有 X。X 是表,Y 是表,XY 是外部参照表。
下面的代码是我的尝试。但是我由于某种原因不能双重加入?是否有任何 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();
}
错误:
CS1941 连接子句中的表达式之一的类型不正确。对“加入”的调用中的类型推断失败。
更新:
这是等效的 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
解决方案
推荐阅读
- jenkins - 在具有相同标签的不同节点上并行运行阶段
- javascript - 所选元素上下移动,但滚动行为不起作用
- javascript - 使用 Alpine JS 未选中父复选框时如何取消选中子复选框
- python - 加入服务器时在用户昵称前添加氏族标签 discord.py
- volttron - 带有 CRON 的 volttron 调度执行器代理
- php - (已解决)PHP DOMDocument 获取tbody下的全部内容
- python - 如何解决显示 AttributeError: 'Pandas' object has no attribute 'Password' 的问题?
- javascript - Discord Bot TypeError:无法读取未定义的属性“id”
- python - 如何在 discord.py 中循环播放音乐?
- java - 错误:PostgreSQL 中没有参数 $1