複数のキーワードを検索するために変更する必要がある既存のコードがいくつかあります。(ちなみに、私はこれらすべてに慣れていません)
Dim topics As IQueryable(Of Global.Platform.Core.Data.Topic) = _
From t In _db.Topics
Where t.IsActive = True And t.TopicTitle.Contains(criteria) And t.ForumID = 0 And Not t.TopicTitle.Contains("default") And t.Member.IsActive = True And t.IsActive = True
Order By t.DateCreated Descending
Select t
Take (take_x)
Return topics
「猫の毛」という条件を入力すると、OR 検索が実行されるように、これを変更するにはどうすればよいでしょうか。そう...t.TopicTitle.Contains("cat") OR t.TopicTitle.Contains("hair") ...
。もちろん、動的である必要があります。
私はこれを試しましたが、動作させることができませんでした。
Dim criteriaArr As Array = criteria.Split(" ")
Dim new_criteria As String = " t.TopicTitle.Contains(" + criteriaArr(0) + ")"
If criteriaArr.Length > 1 Then
For Each item As String In criteriaArr
new_criteria += " Or t.TopicTitle.Contains(" + item + ")"
Next
End If
アイデアは、スペースを分割し、where 句に追加し続けることでした。SQL でこれが機能した可能性があることは知っていますが、このシナリオではどうすればよいでしょうか?