实体框架:字段以数字开头

时间:2011-08-19 16:49:16

标签: c# entity-framework asp.net-mvc-3 entity-framework-4.1

我正在使用MVC3和Entity Framework 4.1,我有一个网格,该网格由公司名称的第一个字符分页。我有它工作得很好,但一些公司从一个数字开始。我正在使用以下LINQ查询来获取以所选数字开头的公司,但我如何选择以数字开头的公司呢?

    var b = (from c in dbContext.Companies
             where c.CompanyName.StartsWith(selectedCharacter)
             select c)

我试过了:

 where char.IsNumber(l.CompanyName[0]) 

但是,我收到错误,因为它不知道如何将其转换为SQL。

编辑:我知道我可以做.CompanyName.StartsWith(“1”)|| .CompanyName.StartsWith(“2”)等。有更好的方法吗? 。 任何想法?

1 个答案:

答案 0 :(得分:9)

你可以这样做。

var numbers = new string[]{"1","2","3","4","5","6","7","8","9","0"};
var b = (from c in dbContext.Companies
         where numbers.Contains(c.CompanyName.Substring(0,1))
         select c).ToList();

如果您的公司是空的,您可能会遇到问题。