我该如何将此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