0

VS2010、VB.NET、Entity Framework を使用しています。

私のアプリケーションにはテキストボックスがあり、名前、識別番号、または姓をテキストで送信して人を検索できます。そして明らかに、データベースに PERSON というテーブルがあります。検索に一致するすべての人物をデータベースから取得するにはどうすればよいですか。

たとえば、データベースには次の 2 人がいます。

人物 1.
名前: サマンサ
姓: ランドフ
ID: 702020406

人物 2
名前: Eric
姓: Salas
ID: 405670233

また、ある人が検索テキスト フィールドに「s」という文字を入力すると、両方の人がデータベースから取得されます。これは、名前が人 1 と姓が人 2 と一致するためです。それはグローバル検索です、何か考えはありますか?

4

2 に答える 2

0
context.Persons.Where(p => p.Name.Contains("s") || p.LastName.Contains("s"))
于 2012-09-19T23:51:49.330 に答える
0

Contains() メソッドを使用して、検索文字列を一致させることができます。次の例では、名または姓の任意の場所に「s」が含まれる名前の人が返されます。

context.Persons.Where(p => p.Name.ToLower().Contains("s") || p.LastName.ToLower().Contains("s"));

または、標準の SQL ステートメントを LIKE 演算子で使用し、context.ExecuteStoreQuery()関数で実行することもできます。

于 2012-09-20T01:22:45.903 に答える