2009-09-21 42 views
1

有沒有更好的方法來創建以下linq到sql查詢?我試圖讓以數字[0-9]開始的所有公司名稱...linq to sql - 我如何重寫以下內容

var suppliers = from s in context.Supplier where 
    SqlMethods.Like(s.CompanyName, "0%") || 
    SqlMethods.Like(s.CompanyName, "1%") || 
    SqlMethods.Like(s.CompanyName, "2%") || 
    SqlMethods.Like(s.CompanyName, "3%") || 
    SqlMethods.Like(s.CompanyName, "4%") || 
    SqlMethods.Like(s.CompanyName, "5%") || 
    SqlMethods.Like(s.CompanyName, "6%") || 
    SqlMethods.Like(s.CompanyName, "7%") || 
    SqlMethods.Like(s.CompanyName, "8%") || 
    SqlMethods.Like(s.CompanyName, "9%") 
select s; 

非常感謝

回答

4

什麼:

var suppliers = from s in context.Supplier where 
    SqlMethods.Like(s.CompanyName, "[0-9]%") 
select s; 
+0

咄!謝謝konamiman – Rippo 2009-09-22 06:32:04

+0

順便說一下,我不知道SqlMethods類的存在。可以使用自定義方法進行擴展嗎? – Konamiman 2009-09-22 06:53:04

+0

我不太確定..也許你可以問一個關於堆棧溢出的問題......! – Rippo 2009-09-22 12:17:36