3

在数据库中我有一个字段PhoneNumber = '123 456 789'

查询返回 null:

return context.Clients.FirstOrDefault(c => с.PhoneNumber.Trim() == "123456789")

是否可以使用 EF 修剪空白?

提前致谢

4

2 回答 2

11

Trim()只会修剪前导和尾随空格:-

string.Trim() - 从该实例的开头和结尾删除所有出现的空白字符。

你可以使用:

string.Replace(" ", string.Empty):

用法:

return context.Clients.FirstOrDefault(c => с.PhoneNumber.Replace(" ", string.Empty)) == "123456789")
于 2013-04-23T14:34:22.760 回答
3

Trim 仅删除前导和尾随空格。

因此,您应该尝试以下方法:

return context.Clients.FirstOrDefault(c => с.PhoneNumber.Replace(" ","") == "123456789")

个人认为,这种过滤方式会极大地影响大数据的性能。您应该考虑将数字存储在已经格式化且没有空格的数据库中。

于 2013-04-23T14:35:07.407 回答