如何將以下內容轉換爲LINQ查詢或對象查詢?如何將以下內容轉換爲LINQ查詢或對象查詢?
SELECT ABC FROM dbo.TableOne
WHERE XID IN (SELECT YID FROM dbo.TableTwo
WHERE YId = 1 AND ZID2 = 2)
如何將以下內容轉換爲LINQ查詢或對象查詢?如何將以下內容轉換爲LINQ查詢或對象查詢?
SELECT ABC FROM dbo.TableOne
WHERE XID IN (SELECT YID FROM dbo.TableTwo
WHERE YId = 1 AND ZID2 = 2)
以下內容應該有效。我沒有編譯它,所以如果有的話糾正語法錯誤。
此外,你應該先嚐試這些東西,然後發佈。
from tab1 in TableOne
where
(
from xyz in TableTwo
where xyz.YId == 1 && xyz.ZID2 == 2
select xyz.YID
).Contains(tab1.XID)
select new { tab1.abc }
或EF
var arrYID = (from xyz in TableTwo
where xyz.YId == 1 && xyz.ZID2 == 2
select xyz.YID).ToArray();
var objABC = from tab1 in TableOne
where arrYID.Contains(tab1.XID).select new {tab1.abc};
它引發異常「無法創建類型.....」的常量值 – InTheWorldOfCodingApplications
Did你嘗試過「選擇新的{tab1.abc}」而不是「選擇tab1.abc」? – samar
對不起,我沒有意識到你正在使用實體框架。我已經更新了答案。我沒有編譯它,只是糾正了編譯錯誤。試試看。 – samar
你嘗試過什麼?從這裏開始:http://itworksonmymachine.wordpress.com/2009/09/27/sql-to-linq-cheat-sheet/ –