類似問題的答案不適用於我。Linq到SQL字符串連接where子句生成越野車sql
考慮這個字符串連接查詢:
.Where(c => (
c.FirstName ?? String.Empty +
c.LastName ?? String.Empty +
c.CompanyName ?? String.Empty).Contains(searchText)
結果在下面的SQL。由於第一個案例陳述,這實際上未能找到姓氏上的匹配。
我跳通過各種箍,以找到一個解決方案(計算列<算了吧,UDF <算了吧,SP <忘了),在那裏主題的變化...
CASE
WHEN ([Extent3].[FIRST_NM] IS NULL)
THEN
CASE
WHEN (@p__linq__0 + [Extent3].[LAST_NM] IS NULL)
THEN
CASE
WHEN (@p__linq__1 + [Extent3].[COMPANY_NM] IS NULL)
THEN @p__linq__2
ELSE @p__linq__1 + [Extent3].[COMPANY_NM]
END
ELSE @p__linq__0 + [Extent3].[LAST_NM]
END
ELSE [Extent3].[FIRST_NM]
END LIKE @p__linq__3 ESCAPE N''~'')
有任何想法嗎?
新的支架都沒有效果很遺憾 – 2011-06-08 10:22:06