我是linq的新手,所以如果这是一个愚蠢的问题,我会事先道歉。我继承了以下查询,并且它没有产生正确的结果以便修复它我必须了解它在做什么。 这是查询,如果有人可以向我解释它正在做什么(也可能修复它),将非常感激。
/**
* @ORM\Column(type="integer")
*/
protected $id;
更新 我希望以下查询在LINQ中编写,如果你们其中一个人告诉我上面的LINQ查询有什么问题,那就太棒了。
从tblDVPTest中选择* tblDVPTest.DVPTestID = tblDVPPhase.DVPTestID上的内连接tblDVPPhase 其中dvpid = 2176和tblDVPPhase.DVPMasterPhaseID = 255 这是两个条件
从tblDVPTest中选择* tblDVPTest.DVPTestID = tblDVPPhase.DVPTestID上的内连接tblDVPPhase tblDVPPhase.DVPPhaseID = tblDVPVariant.DVPPhaseID的内连接tblDVPVariant 其中dvpid = 2176和tblDVPPhase.DVPMasterPhaseID = 255和tblDVPVariant.DVPMasterVariantID = 681
答案 0 :(得分:0)
正如我从代码中可以理解的那样,您正在使用实体框架与数据库进行交互。以下是一个高级别的解释:
tblDVPTests
到表格dvps
的{{1}}列与变量DVPID
的值匹配的变量tblDVPTests
中选择所有内容。dvpNum
不为空,则仅选择来自dvpMasterPhaseId
的值,其中引用的表dvps
具有列tblDVPPhases
值与变量{{1}匹配的所有行价值。将结果存储在DVPMasterPhaseID
中。如果变量dvpMasterPhaseId
为空,请跳过此步骤。dvps
不为空,则仅选择来自dvpMasterPhaseId
的值,其中引用的表dvpMasterVariantId
具有列dvps
值与变量{{1}匹配的所有行价值。将结果存储在tblDVPPhases
中。如果变量DVPMasterVariantID
为空,请跳过此步骤。注意:表dvpMasterVariantId
和dvps
之间存在外键关系。
首先要解决您的问题,您应该告诉我们您对结果的期望是什么。