2016-07-27 4 views
0

FirstName = "abcxyz"を持つテーブルレコードを検索しました。Linqクエリで正常に検索しました。Linq - 検索テーブルレコードには検索文字列が含まれています

db.People.Where(p => searchString.Contains(p.FirstName).ToList(); 

しかし、私たちはSQLで行うと同様FirstName = "abcxyz"

で文字のいずれかを含むテーブルのレコードを検索したい -

enter image description here

を任意の提案は、ここでは参考になります。 SQLを見てみると

答えて

4

、何が必要です:

p.FirstName.Contains(searchString) 

ので、あなたのクエリは次のようになります。

db.People.Where(p => p.FirstName.Contains(searchString)).ToList(); 
+2

ではSQLで私たちは

を使用している一部の文字で終わるデータを取得したい場合しかし、あなたは正しい考えを持っています。 :) – itsme86

+0

@ itsme86、ありがとう – Habib

+0

@ itsme86、ありがとう!それは完璧に動作します:) –

1

あなたはSQLで演算子のように使用してデータを取得するには、LINQのメソッドの下に使用することができます

例:あなたはデータを我々はいくつかの文字で始まる取得したい場合

1) SQLで

を使用して: - LINQで

select * from People where firstname LIKE '%abc'; 

: - あなたがデータを取得したい場合

db.People.Where(p => p.firstname.StartsWith(abc)); 

2)私たちはSQL

を使用している任意の文字が含まれています

select * from people where firstname LIKE '%abc%'; 

LINQ

db.people.where(p => p.Contains(abc)); 

3)あなたはOPが同じ括弧がありません

select * from people where firstname LIKE '%abc'; 

LINQ

db.people.where(p => p.firstname.EndsWith(abc)); 
関連する問題