2009-09-21 40 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