应用linq过滤器转换表达式

胶水

我有一个很好的Linq挑战。我想使用FilterFunction过滤日期上的一些数据。它应该像这样工作:

ApplyDateFilterEx(query,null, DateTime.Today, s => s.CreatedDate);

应该过滤查询,以便返回直到今天的所有“货件”。查询对象是IQueryable,整个查询应由EF5评估,因此应转换为SQL。

这是我到目前为止(无法编译)的内容:

private static IQueryable<Shipment> ApplyDateFilterEx(IQueryable<Shipment> query, DateTime? minDate, DateTime? maxDate, Expression<Func<Shipment, DateTime?>> dateMember)
    {
        if (minDate != null)
        {
            //convert func to expression so EF understands
            Expression<Func<Shipment, bool>> where = x => minDate <= dateMember(x);
            query = query.Where(where);
        }
        if (maxDate != null)
        {
            Expression<Func<Shipment, bool>> where = x => dateMember(x) <= maxDate;
            query = query.Where(where);
        }

        return query;
    }

您可以看到我要转换表达式s => DateTime吗?到s =>要评估的布尔。我怎样才能使它正常工作?

感谢您的阅读。马丁

UDPATE:我结束了(感谢rdvanbuuren)

 var predicate = Expression.Lambda<Func<Shipment, bool>>(
                    Expression.GreaterThanOrEqual(
                        selector.Body,
                        Expression.Constant(dateFilter.MinDate, typeof (DateTime?))
                        ), selector.Parameters);
rdvanbuuren

看看如何使用表达式参数c#实现方法

我认为这正是您所需要的,但是具有Expression.GreaterThanOrEqual或Expression.LessThanOrEqual。祝你好运!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

AngularJS 过滤器根据表达式动态应用

来自分类Dev

为过滤器的多个条件创建动态linq表达式OData包含吗?

来自分类Dev

为过滤器的多个条件创建动态linq表达式OData包含吗?

来自分类Dev

将grok过滤器转换为正则表达式?

来自分类Dev

将Wireshark过滤器表达式转换为BPF

来自分类Dev

通过lambda表达式应用过滤器后,如何获取Stream的大小?

来自分类Dev

熊猫DataFrame过滤器正则表达式

来自分类Dev

AngularJS过滤器表达式未更新

来自分类Dev

ElasticSearch正则表达式过滤器

来自分类Dev

Grails过滤器正则表达式

来自分类Dev

表达式模块错误“过滤器对象”

来自分类Dev

带有深层过滤器的JSONPath表达式

来自分类Dev

ElasticSearch正则表达式过滤器

来自分类Dev

过滤器中的AngularJS逻辑表达式?

来自分类Dev

在angularJS过滤器的表达式中使用“或”

来自分类Dev

高级过滤器/表达式以限制条目

来自分类Dev

tcpdump过滤器表达式通过adb中断

来自分类Dev

Logstash Grok过滤器正则表达式

来自分类Dev

iMacros 的正则表达式过滤器

来自分类Dev

DynamoDB 过滤器表达式的用途是什么?

来自分类Dev

谓词表达式作为过滤器参数

来自分类Dev

流过滤器正则表达式

来自分类Dev

Angular中有内置的方法来应用完整的过滤器表达式吗?

来自分类Dev

如何在将条件表达式保存在dataframe列中的spark数据框中应用条件表达式过滤器

来自分类Dev

正则表达式拉丁字符过滤器和非拉丁字符过滤器

来自分类Dev

添加查找表达式后未显示Django过滤器字段-Django过滤器库

来自分类Dev

通过正则表达式过滤器过滤Google BigQuery列

来自分类Dev

对于表达式过滤器不过滤任何内容

来自分类Dev

为什么jq有时需要过滤器表达式,而有时则不需要过滤器表达式?

Related 相关文章

  1. 1

    AngularJS 过滤器根据表达式动态应用

  2. 2

    为过滤器的多个条件创建动态linq表达式OData包含吗?

  3. 3

    为过滤器的多个条件创建动态linq表达式OData包含吗?

  4. 4

    将grok过滤器转换为正则表达式?

  5. 5

    将Wireshark过滤器表达式转换为BPF

  6. 6

    通过lambda表达式应用过滤器后,如何获取Stream的大小?

  7. 7

    熊猫DataFrame过滤器正则表达式

  8. 8

    AngularJS过滤器表达式未更新

  9. 9

    ElasticSearch正则表达式过滤器

  10. 10

    Grails过滤器正则表达式

  11. 11

    表达式模块错误“过滤器对象”

  12. 12

    带有深层过滤器的JSONPath表达式

  13. 13

    ElasticSearch正则表达式过滤器

  14. 14

    过滤器中的AngularJS逻辑表达式?

  15. 15

    在angularJS过滤器的表达式中使用“或”

  16. 16

    高级过滤器/表达式以限制条目

  17. 17

    tcpdump过滤器表达式通过adb中断

  18. 18

    Logstash Grok过滤器正则表达式

  19. 19

    iMacros 的正则表达式过滤器

  20. 20

    DynamoDB 过滤器表达式的用途是什么?

  21. 21

    谓词表达式作为过滤器参数

  22. 22

    流过滤器正则表达式

  23. 23

    Angular中有内置的方法来应用完整的过滤器表达式吗?

  24. 24

    如何在将条件表达式保存在dataframe列中的spark数据框中应用条件表达式过滤器

  25. 25

    正则表达式拉丁字符过滤器和非拉丁字符过滤器

  26. 26

    添加查找表达式后未显示Django过滤器字段-Django过滤器库

  27. 27

    通过正则表达式过滤器过滤Google BigQuery列

  28. 28

    对于表达式过滤器不过滤任何内容

  29. 29

    为什么jq有时需要过滤器表达式,而有时则不需要过滤器表达式?

热门标签

归档