0
我有一個SQL查詢,我試圖使用Lambda表達式將其轉換爲Linq。 我能夠對TABLE1.XR_ID和TABLE2.ID執行正常的聯接操作,但後來我意識到SQL查詢正在加入CHARINDEX。我做了一些研究,但是我無法找到任何資源讓我走向正確的方向。使用LAMBDA將SQL查詢中的CHARINDEX轉換爲LINQ表達式
SQL:
SELECT distinct a.XR_ID FROM
TABLE1 a
JOIN TABLE2 b ON CHARINDEX(CONVERT(VARCHAR(20), a.XR_ID), CONVERT(VARCHAR(20), B.ID), 1) = 1
WHERE
b.TYPE = 'Q'
LINQ:
var innerQuery =
context.TABLE1.
Join(context.TABLE2,
table1 => table1.XR_ID,
table2=> table2.ID,
(table1 , table2) =>
new
{
TABLE1 = table1 ,
TABLE2 = table2
})
.Where(y=> y.table2.TYPE == "Q")
.Distinct()
.ToList();
上面的查詢不給我相同的結果SQL查詢。任何一個人都可以指向正確的方向嗎?
感謝您的迴應..讓我試試這個..但我認爲這看起來像一個有效的選擇。 – Scorpio
nope ..它給我結果相同的列表,因爲我的LINQ表達式不會在sql查詢中給出結果。 – Scorpio
什麼結果?有錯誤嗎?你有沒有試過檢查生成的SQL語句? – MarcinJuraszek