次のような入力があります。"Steve Brian McFistycuffs Johnson"
データベースを調べて、それらの単語を含むすべてのレコードを任意の順序で返したいと思います。
私がすることは、次のようなものです
var matches = myContext.MyTable.Where( c => c.Name.Contains("Steve") && c.Name.Contains("Brian") && c.Name.Contains("McFistycuffs") && c.Name.Conains("Johnson"));
ただし、これを動的に行う必要があり、単語数が変わる可能性があります。
また、何を選択しても、エンティティ フレームワークによる SQL ステートメントの作成に影響を与えないようにしたいと考えています。可能な限り最適化するようにしたいと思います。これは、ラムダ内である種の foreach を実行しても、エンティティ フレームワークが SQL に簡単にマップできないため、おそらく機能しないことを意味します。
助言がありますか?