SqlKata-如果where子句的一部分为空会怎样?

时间:2019-05-07 19:23:55

标签: c# linq sqlkata

我有一个SQLKata查询。它与普通的SQLKata不同,因为一些同事已经使用了包装器。

var conditionQuery = new CustomQuery<MyClass>()
            .Select
            (
               s => s.Id,
               s => s.StartTime,
               s => s.CreatedTime
            )
            .Where(w => w.Id == jobs.PersonLinks.FirstOrDefault().PersonId)
            .Where(w => w.StartTime == jobs.PersonLinks.FirstOrDefault().Time)
            .OrderBy(w => w.CreatedTime);

我的问题是,如果jobs.PersonLinks为空,conditionQuery是否解析为空?

1 个答案:

答案 0 :(得分:0)

由于有关该问题的信息很少,所以我写一个一般性的答案。 您可以使用它。

.Where(w => w.Id == jobs.PersonLinks?.FirstOrDefault()?.PersonId ?? -1)
.Where(w => w.StartTime == jobs.PersonLinks?.FirstOrDefault()?.Time ?? new DateTime())