我有以下实体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 to 实体),此示例将输出以下 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 to 实体来做到这一点,我猜这需要某种动态 lambda 构建器,因为我们不知道用户可能在每个字段中输入多少字。
我该怎么做呢,我快速浏览了一下,但看不到任何简单的东西。