2

名 / 姓 / 名 + 姓の組み合わせによる検索に問題があります。

名と姓で正しく機能していましたが、名と姓の組み合わせでは、同じ姓を持つその他のメンバーもすべてリストされていました。メソッドは私が考えているようには機能し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 DoeJohn 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 に答える