我在 Entity Framework 4.1 中使用 MVC3,并且我有一个按公司名称的第一个字符分页的网格。我让它工作得很好,但有些公司以数字开头。我正在使用以下 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") 等。有没有更好的方法?
.
有任何想法吗?

最佳答案

你可以做这样的事情。

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();

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

10-08 14:06