首页 > 解决方案 > 在 C# 中搜索的确切值

问题描述

我有一些负责搜索的代码。主要问题是它需要有准确的结果。例如,我网站的用户通过电话号码查找订单。有三个订单,编号分别为 8900500、8900600、8900700。如果我输入“8900”,网站将显示所有订单。但什么也不显示是对的。只有在输入“8900600”的情况下,网站必须显示带有“8900600”的订单等等。我该如何解决?现在,有代码:

if (!String.IsNullOrEmpty(search))
                query = query.Where(x => EF.Functions.Like(x.Telephone, $"%{search}%"));

标签: c#asp.netlinq

解决方案


您使用 like,它也可以找到子字符串。如果您只想找到确切的结果,请使用==运算符:

if (!String.IsNullOrEmpty(search))
    query = query.Where(x => x.Telephone == search);

推荐阅读