這是之前在網路上看到的文章,隨手作的小筆記
以往在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

arrow
arrow
    全站熱搜

    MyWCT 發表在 痞客邦 留言(0) 人氣()