0

我有以下情况:

用户可以在搜索期间从以下任一选项中进行选择:

  • 0
  • 1-3
  • 4-6
  • 7-9
  • 10-12
  • 12+

说他们选择了 0、4-6 和 12+

SQL where 语句将是:

Where (total_count = 0
OR (total_count >= 4 AND total_count <= 6)
OR total_count > 12)

现在为了获得这些值,我正在迭代一个复选框列表集合,所以正在尝试:

query = query.Where(tc => tc.total_count >= 4 && tc.total_count <= 6);

但这是在语句之​​间添加一个 AND,我怎么能添加一个或。我意识到我可能会建立一个包含整数的列表并执行包含但我不知道 12+ 可能会达到多少。

谢谢

4

1 回答 1

0

我没有看到添加“OR”的问题。所有“WHERE”子句都需要一个谓词(返回真假的东西”。或者我可能错过了重点。

关于您的 SQL 示例,等价的将是

    query.Where(tc=> tc.total_count == 0 || (tc.total_count >= 4 && tc.total_count <= 6) || tc.total_count > 12)
于 2012-06-17T22:03:26.300 回答