簡體   English   中英

在linq查詢中使用子查詢

[英]Use subquery in linq query

如何在linq查詢中構造以下sql查詢以獲取結果?

SELECT PageNumber from LMS_SurveyQuestion WHERE SurveyQuestionID IN
(SELECT  SurveyQuestionID from LMS_SurveyQuestionOptionChoice 
WHERE NextPageNumber = 4) and SurveyID = 1

嘗試這個

var result = from l in LMS_SurveyQuestion 
             let lsq = from l_S in LMS_SurveyQuestionOptionChoice 
             where l_S.NextPageNumber = 4
             select l_S.SurveyQuestionID 
             where lsq.Contains(l.SurveyQuestionID) and l.surveyid = 1
             select l.PageNumber;  

看一下這篇文章 基本上,如果要在LINQ中實現SQL IN查詢,則需要先構造一個內部查詢,然后再使用Contains()方法。 這是我的嘗試:

var innerQuery = (from log in LMS_SurveyQuestionOptionChoice where log.NextPageNumber = 4 select log.SurveyQuestionID);

var result = (from f in LMS_SurveyQuestion where innerQuery.Contains(f.SurveyQuestionID) && f.SurveyID = 1 select f);

希望這會有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM