我们最近在我们的项目中包含了PredicateBuilder类,并遇到了一个问题。在下面的代码中,为什么生成的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();发布于 2016-06-24 09:18:01
您需要将谓词赋值给变量。
守则如下:
predicate = predicate.And(p => p.createDateTime >= dtFrom.Value);https://stackoverflow.com/questions/38006038
复制相似问题