2011-12-26 11 views
1

配列に文字列のうち少なくとも1つが含まれているメンバーを取得します。属性に配列の任意の要素が含まれているオブジェクトを取得する

string[] words=content.TrimEnd().TrimStart().Split(' '); 

だから私はそのメンバーの名前はこれらwords配列から任意の文字列が含まれていることができるので、この

context.Members.Where(p.Name.Contains(word)) 

のようなものはまた、私は書くことができない」、LINQの式に含まれていることを選びたいですそれをSQLに解析します。どこの文で書くの?

+0

言葉や人(推定)でありますどのように多くの要素についての情報を追加し、より良い答えを得るために。 –

+0

[Linq to SQLの重複可能性はどこで\ [列\](値のリスト) "を実行するか](http://stackoverflow.com/questions/1075540/linq-to-sql-how-to-do値のリストの中の列) –

+0

@Henk、言葉のために1-10 ...検索のために、それ以上はできませんが、私はユーザーがより多くを検索するとは思わない10単語 メンバーは毎日増えていますので、たくさんあります))) –

答えて

2

潜在的に非常に高価な強引なアプローチ:

// untested 
var names = context.Members.Select(m => m.Name).ToList(); 
names = names.Where(n => words.Any(w => n.Contains(w)); 
+0

リスティングなしでそれを行うことで、それほど軽い力はありません、そうですか? –

+0

Linq2SqlがContains()を処理するかどうかわかりませんが、それがToListの理由です()。 –

0
var a = new List<string>(); 
var b = new List<string>(); 
var c = a.Where(b.Contains); 
+0

'Contains'フィールドは 'b'ですか?あなたは何を意味するのか説明できますか? –

+0

a.Where(b.Contains)はa.Where(x => b.Contains(x))に等しい。 aの各要素にContainメソッドを投影します。 – snurre

関連する問題