複数の変数を単一の文字列と比較できる LINQ クエリを実行したいと考えています。配列要素の LIKE クエリの LINQ を見たことがありますが、これは役に立ちますが、完全ではありません。逆が必要です。
私がやりたいことは次のとおりです。 と の両方を持つCompany
オブジェクトがあるとしましょう。私も文字列を持っています。次に、リスト内のすべての を検索したいと思います。SQLでは...Name
Address
keyword
Company
keyword
Name
Address
SELECT * FROM Company
WHERE Name LIKE '%keyword%' OR Address LIKE '%keyword%'
私は Entity Framework を使用しており、次のことを試しました: context.Companies.Where(x => new string[] { x.Name, x.Address }.Contains(keyword)
、およびcontext.Companies.Where(x => new string[] { x.Name, x.Address }.Any(r => r.Contains(keyword))
、どちらも成功しませんでした。最初のものは私にIN
句を与え、2番目のものは...私はそれが何をするのかわかりませんが、それは私が望むものを私に与えません.
申し訳ありませんが、式については (まだ) 深く理解していません。独自のカスタム Expressions をゼロから作成できればよかったのですが、スクラッチすることはまだできません... 誰か助けてくれませんか?