我在 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,您可能会遇到问题。