我知道我需要更改哪些代码来执行此操作,但我不确定如何更改它。
因此,假设您输入了DUA的参数搜索
你的桌子就像这样
Name
-----
Duane
Dakdua
Olpdua
Poduaia
我想要这个代码要做的是获取搜索到的字母数,在这种情况下为3,然后根据该数字的第一个进行搜索。
所以我应该得到的唯一结果是'Duane'
我继承了这段代码,所以我不得不深入研究它,这就是我发现我认为必须改变的路线。
nameQuery = nameQuery.Where(name => name.FirstName.ToUpper().Contains(searchParameter));
答案 0 :(得分:1)
字符串有一个c#方法 - StartsWith,还可以查看StringComparison参数(这样你可以忽略大小写)
您的代码如下所示:
nameQuery = nameQuery.Where(x=> x.FirstName.StartsWith(searchParameter ,StringComparison.InvariantCultureIgnoreCase));
答案 1 :(得分:0)
正如其他人所说,你想要StartsWith:
nameQuery = nameQuery.Where(name => name.FirstName
.StartsWith(searchParameter ,StringComparison.InvariantCultureIgnoreCase));
我想你可能想按顺序归还这些物品。
nameQuery = nameQuery.Where(name => name.FirstName
.StartsWith(searchParameter ,StringComparison.InvariantCultureIgnoreCase)).OrderBy(name => name);