我想设计一个LINQ查询,在特定位置进行过滤。在我的用户界面下拉列表中,该下拉列表中的第一个条目为“所有网站”。因此,当查询将“所有网站”视为值时,它不应执行过滤器。这可能没有多大意义,但这是我如何用SQL来做到这一点..C#lambda语句与快速测试
select * from table
where ((location = @loc and @loc is not null) or (@loc is null))
这是我如何试图在LINQ中做到这一点。
var dataSetB = db.Data
.Where(j => loc != 'All Sites' && j.Location1.Description.Equals(loc));
的问题是,当用户选择“所有网站” - 没有结果的时候,我会期待不受位置筛选所有的返回结果。
有谁知道如何在一个LINQ语句中完成此操作?
例如下拉..
<All Sites>
<Sydney>
<New York>
<London>
为什么你不想要吗? – Likurg 2012-04-17 09:38:04
我假设查询缩短了,并且有更多的语句。如果你不想保持重复查询,他的方法是有效的,恕我直言。 – Till 2012-04-17 09:49:37