带日期时间的 PredicateBuilder
PredicateBuilder with DateTime
我们最近刚刚在我们的项目中包含了 PredicateBuilder class 并遇到了一个问题。在下面的代码中,为什么生成的 sql 中不包含 createDateTime 条件?除日期外,其他过滤器均已正确生成。如果重要的话,我们还引用了 LinqKit。
var predicate = PredicateBuilder.True<Booking>();
predicate = predicate.And(p => p.propertyId == propertyId).And(p => p.status == (int)status);
//if (dtFrom != null && dtFrom.HasValue)
//{
predicate.And(p => p.createDateTime >= dtFrom.Value);
//}
return this.ObjectContext.Bookings.AsExpandable().Where(predicate).OrderBy(p => p.createDateTime).Select(b => b.id).ToList();
您需要将谓词赋值回变量。
代码如下:
predicate = predicate.And(p => p.createDateTime >= dtFrom.Value);
我们最近刚刚在我们的项目中包含了 PredicateBuilder class 并遇到了一个问题。在下面的代码中,为什么生成的 sql 中不包含 createDateTime 条件?除日期外,其他过滤器均已正确生成。如果重要的话,我们还引用了 LinqKit。
var predicate = PredicateBuilder.True<Booking>();
predicate = predicate.And(p => p.propertyId == propertyId).And(p => p.status == (int)status);
//if (dtFrom != null && dtFrom.HasValue)
//{
predicate.And(p => p.createDateTime >= dtFrom.Value);
//}
return this.ObjectContext.Bookings.AsExpandable().Where(predicate).OrderBy(p => p.createDateTime).Select(b => b.id).ToList();
您需要将谓词赋值回变量。
代码如下:
predicate = predicate.And(p => p.createDateTime >= dtFrom.Value);