0

我很陌生linq。我有我的客户表。我想根据两个条件选择客户

  1. 客户类型

  2. 客户城市

所以我可以像这样写查询

from c in clients
where c.Type == cType
&& c.City == cCity

我可以使用相同的查询来获得仅提供客户端类型的结果(忽略城市条件。类似的东西*)。

我想要做的是如果 cCity 或 cType 为null忽略条件。

这可能吗?

4

3 回答 3

1

这不是你要找的吗?

from c in clients
where (c.Type == null || c.Type == cType)
&& (c.City == null || c.City == cCity)
于 2013-10-25T05:01:27.540 回答
0

您可以在实际执行之前编写 LINQ 语句:

if (cType != null)
    clients = clients.Where(c => c.Type == cType);
if (cCity != null)
    clients = clients.Where(c => c.City== cCity);
// At this point the query is never executed yet.

第一次如何执行查询的示例:

var results = clients.ToList();
于 2013-10-25T07:30:21.437 回答
0
from c in clients
where (cType == null ? 1 == 1 : c.Type == cType)
&& (cCity == null ? 1 == 1 : c.City == cCity)
于 2013-10-25T10:30:13.177 回答