2009-11-17 166 views
1

嗨,我想知道如何在LINQ中创建嵌套子查询到实体。LINQ到实体嵌套子查询

例如这是我想在linq中翻译的我的sql子查询。

SELECT 
    @planned = COUNT(ID) 
FROM Task_Detail 
WHERE task_id IN 
    ( 
    SELECT 
     task_id 
    FROM Story_Task 
    WHERE is_testcase = 'true' AND 
     story_id IN 
     ( 
     SELECT str_id FROM dbo.story 
     WHERE prjId = @pro_id AND 
     str_id IN 
     ( 
      SELECT str_id FROM dbo.Sprint_StoryMapping WHERE sprint_id = @sprintid 
     ) AND is_testcase = 'true' 
    ) 
) AND status = 1 AND 
    DATEPART(dd,workDate) = DATEPART(dd,@stdt) 
+0

模型中这些实体之间是否存在关系,还是这些完全无关的表? – mkedobbs 2009-11-17 20:51:09

回答

2

直觉是,如果你只是把它变成一个单一的选择与表结合在一起,整个查询将会更快运行了很多,更容易的工作。特别是因为你在一个聚合结果之后。