【问题标题】:PredicateBuilder with DateTime带有 DateTime 的 PredicateBuilder
【发布时间】:2016-06-24 17:18:01
【问题描述】:

我们最近刚刚在我们的项目中包含了 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();

【问题讨论】:

    标签: c# predicatebuilder


    【解决方案1】:

    您需要将谓词分配回变量。

    代码如下:

            predicate = predicate.And(p => p.createDateTime >= dtFrom.Value);
    

    【讨论】:

    • 谢谢。我真是太愚蠢了。我怎么没看到?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多