我正在尝试设计一个过滤特定位置的 LINQ 查询。在我的 UI 下拉列表中,该下拉列表的第一个条目为“所有站点”。因此,当查询将“所有站点”视为值时,它不应该执行过滤器。这可能没有多大意义,但这就是我过去在 SQL 中的做法。
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>