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

我可以使用名字和姓氏正常工作,但是使用名字+姓氏组合时,它还会列出所有其他具有相同姓氏的成员。 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/

关于c# - 按名字/姓氏组合搜索时遇到麻烦,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11041427/

10-10 23:21