這是之前在網路上看到的文章,隨手作的小筆記
以往在T-SQL語句中有LIKE可以使用,但是LINQ沒有直接的支援LIKE,所以大都是使用Contains、StartsWith、EndsWith來替代LIKE的功能,其實有一個SqlMethods類別可以幫助我們達到目標的。
當我們利用以下語法來查詢
會被編譯器解析為
或許會很直覺的想說 % 符號是否能像下面這樣下呢?
傳出去的SQL變為
所以很明確的並不能這樣子使用,我們想要使用%來查詢字串的話就要引用一下SqlMethods類別那我們就可以使用LIKE囉
傳出去的SQL變為
很明顯的我們就可以直接使用%了,但是因為我們已經啟用了SqlMethods所以其實不只%,常用的底線等替代字元也都可以用了因為他就已經是SQL的語法啦。
☆注意: SqlMethods 只能使用在 Linq to SQL
如果你有興趣還可以直接來擴充LINQ寫法如下
資料參考來源:
http://demo.tc/Post/512
http://msdn.microsoft.com/zh-tw/library/system.data.linq.sqlclient.sqlmethods.aspx
全站熱搜
留言列表