可选条件不工作linq

sal*_*sal 0 c# linq

我在Lambda表达式中的可选条件有问题

var shouldCheckDate = !string.IsNullOrEmpty(fromDate);
var result = (from r in db.Notify
              where r.ApplicationId == applicationId
              && (shouldCheckDate || r.CreatedDate.Date > date)
              select r
              ).Count;
Run Code Online (Sandbox Code Playgroud)

问题是在这里它总是激发两个条件要么是shouldCheckDate真的都是假的.我做错了什么?

Rom*_*mbé 5

这是因为LINQ被转换为SQL和SQL,与C#相反,执行条件的所有部分,无论其中一个是否已经返回true.