按名字/姓氏组合搜索时遇到问题

本文关键字:搜索 遇到 问题 组合 | 更新日期: 2023-09-27 18:37:19

我在按名字/姓氏/名字+姓氏组合进行搜索时遇到问题。

我让它与名字和姓氏正常工作,但使用名字+姓氏组合,它也列出了所有其他具有相同姓氏的成员。StartsWith方法是否不像我想象的那样工作,或者这里有某种逻辑错误?

我尝试了这种方式:

predicate = predicate.And(p => query.StartsWith(p.FirstNm) && query.EndsWith(p.LastNm) || query.StartsWith(p.FirstNm));

我也尝试过这种方式:

predicate = predicate.And(p => query.StartsWith(p.FirstNm) || query.StartsWith(p.LastNm)); 

使用这些名称:

John Doe
Jane Doe
Cody Phillips
Cody Fisher

键入Cody会产生两个Cody结果。键入Cody Fisher会产生正确的结果。

输入John Doe会产生John DoeJane Doe。我只希望它屈服John Doe.

按名字/姓氏组合搜索时遇到问题

这可能会有所帮助。我相信你滥用了StartsWith方法。从我收集的信息来看,您应该使用 Like 方法。

http://social.msdn.microsoft.com/forums/en-US/adodotnetentityframework/thread/128fe4cf-776d-4200-9f48-7f8dd30dcb34/