私は、linq to sql を使用して、(迅速で汚い) 検索エンジンに取り組んでいます。各エントリの説明内で検索する各単語を含む文字列のテーブルが既にあります。
linq to sql プロセスの最後に、テーブルからすべての単語を含むエントリのみを取得する必要があります。これまでのコードは次のとおりです(m1は文字列のテーブルです):
var myUser = from u in dataBase.Profiles
where u.Status == 2 // some primary selection
select u;
foreach (string word in m1)
{
myUser = from u in myUser
where ((word != "") ? u.Description.Contains(word) : 1 == 1)
select u;
}
myUser = from u in myUser
orderby u.ModificationDate descending // finally, we order the list
select u;
このコードはうまく機能しますが、悲しいことに、両方の単語を含むエントリを選択するのではなく、少なくとも 1 つの単語を含むすべてのエントリを選択します。
なぜだか分かりますか?私はしません : /