我有一个产品信息表,其中有许多位列。可以从界面查询此表,界面上每个列都有一个复选框。这些复选框分为几个相关的组。
例如,三个列描述了产品适用于各种市场,包括汽车、航空和海洋。
如果没有选中任何这些复选框,则希望执行以下SQL语句。
SELECT * FROM Products
如果勾选了“汽车”,则应执行以下SQL语句。
SELECT * FROM Products WHERE Automotive = 1
如果选中了多个复选框,我希望选项之间是“或”的关系。
SELECT * FROM Products WHERE
Automotive = 1
OR
Aviation = 1
在经典的C#和SQL中,我可以通过有条件地连接SQL来实现此逻辑,但是我在使用Linq时遇到了麻烦。
我的问题是如何有条件地将WHERE子句及其元素添加到查询中。
如果可能的话,我更喜欢仅有一个查询执行点,因此想避免使用C#的if语句来分支到不同的查询。