に次のエンティティがありますEntity Framwork 5 (C#)
。
OrderLine - Id, OrderId, ProductName, Price, Deleted
Order - Id, CustomerId, OrderNo, Date
Customer - Id, CustomerName
注文検索画面で、ユーザーは次の検索値を入力できます。
ProductName, OrderNo, CustomerName
たとえば、次のように入力します。
Product Search Field: 'Car van bike'
Order Search Field: '100 101 102'
Customer Search Field: 'Joe Jack James'
これは、入力された単語ごとに OR 検索 (理想的にはエンティティへの linq を使用) を実行する必要があります。この例では、次の where sql が出力されます。
(ProductName like 'Car' Or ProductName like 'van' Or ProductName like 'bike') AND
(OrderNo like '100' Or OrderNo like '101' Or OrderNo like '102') AND
(CustomerName like 'Joe' Or CustomerName like 'Jack' Or CustomerName like 'James')
エンティティへのlinqを使用してこれを行いたいのですが、ユーザーが各フィールドに入力する単語の数がわからないため、これはある種の動的ラムダビルダーである必要があると推測しています。
これを行うにはどうすればよいですか。簡単にブラウズしましたが、簡単なものは何も表示されません。