我在按名字/姓氏/名字+姓氏组合进行搜索时遇到问题。
我可以使用名字和姓氏正常工作,但是使用名字+姓氏组合时,它还会列出所有其他具有相同姓氏的成员。 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 Doe
和Jane 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/