我有一个项目,我通过第一个字母查询用户:
repository.GetAll().Where(q => q.BrukerIdent.StartsWith(letter.ToString())).ToList();
..哪里repository.GetAll()
返回 IQueryable<Bruker>
, BrukerIdent
是一个包含用户名的字符串,letter
是一个字符值。这非常有效,除了我还想获得以数字开头的用户。而且我不想按单独的数字排序。
我的大脑在呼喊 StartsWith("\d")
但据我所知,这种方式行不通。我也想过做一个 10-way OR 子句,但这看起来像意大利面条,而且我不确定效率。
有什么“正确”的方法可以做到这一点吗?
最佳答案
如果这是针对 LINQ-to-SQL 的,您可以使用 SqlMethods.Like
方法在这里:
var result = repository
.GetAll()
.Where(q => SqlMethods.Like(q.BrukerIdent, "[0-9]%"))
.ToList();
关于c# - LINQ to SQL 查询以确定值是否以数字开头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5702168/