我該如何將此linq代碼轉換爲sql?SQL如果其他地方
if (storeId > 1)
{
query = from p in query
where (p.StoreId == storeId)
select p;
}
如果storeId> 1我不想在SQL中進行WHERE比較。
UPDATE 這是我想在SQL做什麼:
SELECT * FROM test
WHERE (
(test.city = @city)
AND
(test.price = @price)
AND
(
IF (@storeId > 1)
test.storeId = @storeId
ELSE
do not do anything
)
)
我不明白......如果你只是想將其轉換爲SQL,爲什麼不運行它並查看執行了哪些SQL?你什麼意思? –
@Mark - OP希望(我認爲)在他的SQL查詢中包含外部的'if'子句。上面的代碼生成的LINQ查詢將不包含該內容。 –
你似乎是自相矛盾的:你提供的代碼似乎在storeId> 1的時候恰好做了一個查詢(包括一個WHERE-claue)。或者我錯過了什麼?你能讓你的意圖更清楚嗎? – Kjartan