通过额外的LINQ参数进行限制

时间:2017-06-30 08:11:45

标签: c# linq

我在MVC应用程序中有以下内容:

        var selectedArticles =
            vm.Articles.Except(
                vm.Articles.Where(x => x.Quantity == 0)).ToList();

我需要添加另一个参数。我不想显示选项HideUntilDate!= NULL&& HideUntilDate>今天的日期

任何提示?

2 个答案:

答案 0 :(得分:5)

除了不需要

var selectedArticles = vm.Articles
   .Where(a => a.Quantity == 0 && !(a.HideUntilDate != null && a.HideUntilDate.Value > DateTime.Today));

答案 1 :(得分:1)

只需将需求逻辑添加到where子句的lambda表达式

 var selectedArticles =
          vm.Articles.Except(
                vm.Articles.Where(
                   x => x.Quantity == 0 || 
                   x.HideUntilDate == null || 
                   x.HideUntilDate < DateTime.Now.Date()
               )
          ).ToList();