2

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

我让它在名字和姓氏上正常工作,但在名字+姓氏组合中,它还列出了所有具有相同姓氏的 OTHER 成员。该方法是否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

4

1 回答 1

1

这可能会有所帮助。我相信你在滥用 StartsWith 方法。根据我的收集,您应该改用 Like 方法。

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

于 2012-06-14T21:20:43.133 回答