我正在使用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”)等。有更好的方法吗? 。 任何想法?
答案 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();
如果您的公司是空的,您可能会遇到问题。